Submitted:
28 June 2024
Posted:
01 July 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Related Work
3. Methodology
3.1. Literature Review
3.2. Planning
3.3. Requirement Analysis
3.4. Design
3.5. Development
3.6. Testing
4. Result and Discussion
4.1. Result
4.2. Planning
4.3. Requirement Analysis
- MongoDB is used for the backend, the first requirement needed is beckend and the development team agrees to use MongoDb as the database or more clearly the development team uses MongoDB Atlas. MongoDB was chosen because the team wanted to implement MERN STACK where the technology stack used to develop full-stack websites, MERN itself stands for MongoDB, Express, React, and Node.js. In using MongoDB, it can transfer data quite well in receiving and sending both from the user to the system or vice versa from the system to the user. And MongoDB was chosen to be the main database in storing all data such as account data and course data.
- Upstash is used for the backend as a backup of the main database, to avoid data loss, here Upstash is chosen to back up the data so that it is not immediately lost. Upstash consists of account data and course data but is designed not as neat and structured as MongoDB, it will be more difficult to see the data but it can help in data recovery if an error or bug occurs that causes data to disappear from the main database in MongoDB.
- Cloudinary is also used for the backend but focuses more on image storage. When the user creates an account, they can immediately save the profile photo from the registered gmail because cloudinary directly takes the user’s profile photo from gmail directly. Users can also change the profile photo in the profile dashboard section and directly change the data in the cloudinary. The course banner photo storage data is also stored in the cloudinary just like the user profile photo.
- VdoChiper is also used for the backend as a storage for uploaded videos. The video is uploaded as a video course uploaded by the admin. The selection of VdoChiper as a service platform for storing videos is due to minimizing so that the website is not too heavy in rendering videos and can be as high level security, thanks to strong encryption technology. In making e-learning websites, VdoChiper is the right choice as an additional platform for storing video data because VdoChiper offers security where this platform ensures videos can only be accessed by authorized users, curating any indication of the risk of piracy and illegal distribution. VdoChiper uses DRM (Digital Rhigts Management) encryption technology that can secure videos from illegal downloading or screen recording.
- Typescript was chosen as the programming language to build the BrainNest website, although not all of them use typescript, but almost all of them use typescript when building the beckend or fontend. Typescript is used because of its ability to detect errors at compile time, not at runtime. This is very useful for building very complex e-learning websites. To minimize small errors that can cause big problems to the end user, it is avoided for convenience and to enhance a good user experience. With typescript developers can catch errors earlier in the linking process, which can lead to less potential bugs and can improve the overall quality of the code. In addition, typescript supports OOP (Object-Oriented Programing) features such as classes, modules, and interfaces. These features allow the development team to build a more structured and modular e-learning website. In its application, components such as the user dashboard learning module can be separated and then put together, not built in one page together which can make the code complicated.
- Next.Js was chosen as the framework for forntent work because it supports the creation of interactive and intelligent interfaces, Next.Js JavaScript framework with an approach that focuses on server-side rendering (SSR) and statistics generation (SSG), next js can help create fast and responsive websites. Next.Js has built-in API support that makes it easy to integrate backends. Next.Js can make it easy to create content for e-learning with SSR that helps in fast rendering and fast data transfer to students. With SSG the content is loaded statically which makes access fast and efficient. Many modules that can be used such as account authentication, motion, and so on are widely used in this project to help create a more interactive, secure, and fast website that strives for user convenience.
4.4. Design
4.4.1. Use Case Diagram
- Registration: Create a new account by filling in the required information.
- Login: Logging into the application using the created account.
- Accessing Courses: View and follow the courses available on the platform.
- Login: Log into the application using the admin account.
- Manage Courses: Create, edit, and delete existing courses on the platform.
- Manage Category: Set course categories to categorise the various courses.
- Manage FAQs: Create and update the FAQ (Frequently Asked Questions) section to help users understand the system and resolve common issues.
- Monitoring User Statistics: Monitor statistics related to user activity and interaction within the platform, such as the number of enrolments and participation in courses.
- Monitoring Course Statistics: View course-related statistics, such as the number of enrolled participants and course completion rates.


4.4.2. Class Diagram
- expressApp: Express instances
- mongooseConnection: mongoose connections.
- start(): start the application.
- close(): close the application.
- userId: ObjectId: User’s unique ID.
- username: string: User name.
- email: string: User email address.
- password: string: User password.
- coursesTaken: Course[]: List of courses taken by the user.
- viewedFAQs: FAQ[]: List of FAQs viewed by users.
- courseId: ObjectId: The unique ID of the course.
- title: string: Course title.
- description: string: Course description.
- createdBy: ObjectId: ID of the user or admin who created the course.
- createdAt: Date: Course creation date.
- assignedAdmin: Admin: Admin assigned to manage the course.
- enrolledUsers: User[]: List of users enrolled in the course.
- faqId: ObjectId : FAQ unique ID.
- question: String: FAQ questions.
- answer: String: FAQ Answers.
- assignedAdmin: Admin: Admin assigned to manage FAQ.
- viewedByUsers: User[]: List of users who viewed the FAQ.
- adminId: ObjectId: admin unique ID.
- username: string: Admin username.
- email: string: Admin email address.
- password: string: Admin password.
- managedCourses: Course[]: List of courses managed by admin.
- managedFAQs: FAQ[]: FAQ list managed by admin.
- User - Course: The relationship between Userand Courseis 1, which means one user can take multiple courses.
- User - FAQ: The relationship between Userand FAQ is 1, which means one user can view many FAQs.
- Admin - Course: The relationship between Adminand Course is 1, which means one admin can manage multiple courses.
- Admin - FAQ: The relationship between Adminand FAQ is 1, which means one admin can manage many FAQs.
- Course - Admin: The relationship between Courseand Admin is 1:1, meaning each course is managed by one admin.
- Course - User: The relationship between Courseand User is 1, meaning one course can be taken by multiple users.
- FAQ - Admin: The relationship between FAQand Admin is 1:1, which means each FAQ is managed by one admin.
- FAQ - User: The relationship between FAQand Useris 1, which means one FAQ can be seen by many users.
4.4.3. Entity Relational Diagram (ERD)

-
User Entity:
- #Email: serves as the entity’s primary key, representing the user’s email address
- user_name: stores the user’s name
- Password: stores the user’s password for authentication
-
Course Entity:
- id_course: indicates the identity of each course and serves as the primary key of the entity.
- Title_course: indicates the title of the course offered
- Description_course: indicates a brief description of the course content and objectives
- video_course: indicates a video link containing the course material
- thumbnail_course: indicates a small image showing the view of the course
- category_course: indicates the category of the course offered.
-
Administrator Entity:
- id_admin: serves as the entity’s primary key and indicates the ID of each administrator
- name_admin: stores the administrator’s full name
- username: stores the administrator’s username for login
- password: stores the administrator’s password for authentication.
-
FAQ Entity:
- id_faq: the master key for each faq
- question: questions asked by users
- Answer: answer to the question
4.4.4. Physical Data Model

4.4.5. Sequence Diagram






4.5. Development


- Next.Js was chosen as the framework for forntent work because it supports the creation of interactive and intelligent interfaces, Next.Js JavaScript framework with an approach that focuses on server-side rendering (SSR) and statistics generation (SSG), next js can help create fast and responsive websites. Next.Js has built-in API support that makes it easy to integrate backends. Next.Js can make it easy to create content for e-learning with SSR that helps in fast rendering and fast data transfer to students. With SSG the content is loaded statically which makes access fast and efficient. Many modules that can be used such as account authentication, motion, and so on are widely used in this project to help create a more interactive, secure, and fast website that strives for user convenience.
- Tailwind.css was chosen as the framework for website styling. This framework was chosen to make it easier to style the website and beautify the website interface. And it is hoped that using the tailwind.css framework can create a responsive website.
- Html was chosen to be the language that makes the layout and body of the website, and the use of html to make the body and layout display of the massage into the user’s email when verifying the code.
- Library, in the development of the BrainNest website, many libraries are used from rect and next which include authentication, emotion, icons, themes, react-boostrap, dom, side-bar, reacharts, timego.js, yup, redux, three. Libraries are used to simplify and shorten the time because many of the libraries can be used and then modified to create the desired and beautiful appearance.
4.6. Testing
4.6.1. Application Testing - User
4.6.2. Application Testing - Admin
4.6.3. Admin Dashboard Features
5. Conclusion
Acknowledgments
References
- (2023) Pelajar lebih senang pakai internet untuk akses konten hiburan. [Online]. Available: https://databoks.katadata.co.id/datapublish/2023/11/24/pelajar-lebih-senang-pakai-internet-untuk-akses-konten-hiburan.
- Kearns, S.K. What is e-Learning? 2016.
- Delgaty, L. Money aside What is e-learning costing academics? 2013.
- through E-learning, E.C.M. Enhancing Classroom Management through E-learning; 2023.
- to Education through E-learning Platforms, A. Access to Education through E-learning Platforms; 2023.
- Adeniyi, I.S.; Hamad, N.M.A.; Adewusi, O.E.; Unachukwu, C.C.; Osawaru, B.; Chilson, O.U.; Omolawal, S.A.; Aliu, A.O.; David, I.O. E-learning platforms in higher education: A comparative review of the USA and Africa. International Journal of Science and Research Archive 2024. [Google Scholar]
- Nanxi Meng, Yan Dong, D.R.; Luan, L. Tackle implementation challenges in project-based learning: a survey study of PBL e-learning platforms. Educational technology research and development : ETR & D 2023, pp. 1–29. [CrossRef]
- El-aasar, S.A.; Farghali, G. Predictive Study of the Factors and Challenges Affecting the Usability of E-Learning Platforms in the Light of COVID-19. International Journal of Education in Mathematics, Science and Technology 2022. [CrossRef]
- AlTarawneh, M.; Al-Ghammaz, S.A.D. The Journey of E-Learning Technology From Application to Challenges: Evidence From Jordan. 2023 International Conference on Information Technology (ICIT) 2023, pp. 531–536. [CrossRef]
- Singh, S.; Yadav, I.; Bhalaria, M.; Monika. E-Learning Platforms: A Bibliometric Review of Current Status and Future Developments. International Journal for Research in Applied Science and Engineering Technology 2023. [CrossRef]
- Makruf, I.; Tejaningsih, E. Overcoming online learning challenges in the COVID-19 pandemic by user-friendly platform. Journal of Education and Learning (EduLearn) 2023. [CrossRef]
- Del Blanco, Á.; Serrano, Á.; Freire, M.; Martínez-Ortiz, I.; Fernández-Manjón, B. E-Learning standards and learning analytics. Can data collection be improved by using standard data models? 2013 IEEE Global Engineering Education Conference (EDUCON). IEEE, 2013, pp. 1255–1261.
- Nisam, A.; SM, J.; Varghese, A.; Jose, J.; Kumari, P. Learn-It : An E-Learning Web Application Using MERN Stack. International Journal For Multidisciplinary Research 2024, 6. [CrossRef]
- Almufarreh, A.; Arshad, M. Promising Emerging Technologies for Teaching and Learning: Recent Developments and Future Challenges. Sustainability 2023, 15, 6917. [Google Scholar] [CrossRef]
- MongoDB, I. MongoDB: The NoSQL Database. https://www.mongodb.com/, 2024.
- StrongLoop, I. Express: Web Application Framework for Node.js. https://expressjs.com/, 2024.
- Facebook, I. React: A JavaScript Library for Building User Interfaces. https://reactjs.org/, 2024.
- Foundation, O. Node.js: JavaScript Runtime Built on Chrome’s V8 JavaScript Engine. https://nodejs.org/, 2024.
- Tilkov, S.; Vinoski, S. Node.js: Using JavaScript to Build High-Performance Network Programs. IEEE Internet Computing 2010, 14, 80–83. [Google Scholar] [CrossRef]
- Microsoft, I. TypeScript: Typed Superset of JavaScript. https://www.typescriptlang.org/, 2024.
- Bierman, G.; Abadi, M.; Torgersen, M. Understanding TypeScript. ACM SIGPLAN Notices 2014, 49, 149–160. [Google Scholar]
- Vercel. Next.js: The React Framework for Production. https://nextjs.org/, 2024.
- Labs, T. Tailwind CSS: Utility-First CSS Framework. https://tailwindcss.com/, 2024.
- Labs, R. Redis: In-memory Data Structure Store. https://redis.io/, 2024.
- Ltd., C. Ltd., C. Cloudinary: Image and Video Management Platform. https://cloudinary.com/, 2024.
- Ltd, V.M.S.P. VdoCipher: Secure Video Streaming Solutions. https://www.vdocipher.com/, 2024.
- Shah, R.K.; Barkas, L.A. Analysing the impact of e-learning technology on students’ engagement, attendance and performance. Research in Learning Technology 2018, 26. [Google Scholar] [CrossRef]
- Dabbagh, N.; Kitsantas, A. Personal Learning Environments, social media, and self-regulated learning: A natural formula for connecting formal and informal learning. The Internet and Higher Education 2012, 15, 3–8. [Google Scholar] [CrossRef]
- Vats, I. Top eLearning Trends in 2024, 2024.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
