{"id":15068213,"url":"https://github.com/amankr2076/e-learning-platform","last_synced_at":"2026-02-12T00:31:11.152Z","repository":{"id":257307411,"uuid":"849888481","full_name":"amankr2076/E-Learning-platform","owner":"amankr2076","description":"This is a fully functional ed-tech platform that enables users to create, consume, and rate educational content. The platform is built using the MERN stack, which includes ReactJS, NodeJS, MongoDB, and ExpressJS.","archived":false,"fork":false,"pushed_at":"2024-08-30T13:40:17.000Z","size":5181,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T09:06:12.795Z","etag":null,"topics":["bycrypt","cloudinary","express-js","jwt-authentication","mongodb","nodejs","razorpay-api","reactjs","redux-toolkit","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amankr2076.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T13:02:48.000Z","updated_at":"2025-01-24T06:11:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"ebee20f8-c743-46c1-a1ad-bfb6dfaeb2db","html_url":"https://github.com/amankr2076/E-Learning-platform","commit_stats":null,"previous_names":["amankr2076/e-learning-platform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amankr2076/E-Learning-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amankr2076%2FE-Learning-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amankr2076%2FE-Learning-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amankr2076%2FE-Learning-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amankr2076%2FE-Learning-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amankr2076","download_url":"https://codeload.github.com/amankr2076/E-Learning-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amankr2076%2FE-Learning-platform/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261095311,"owners_count":23108784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bycrypt","cloudinary","express-js","jwt-authentication","mongodb","nodejs","razorpay-api","reactjs","redux-toolkit","tailwindcss"],"created_at":"2024-09-25T01:32:27.846Z","updated_at":"2026-02-12T00:31:11.145Z","avatar_url":"https://github.com/amankr2076.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Education Platform (MERN App)\n\nThis project is a fully functional ed-tech platform designed to empower users to create, consume, and rate educational content. Built on the MERN stack—comprising ReactJS, NodeJS, MongoDB, and ExpressJS— aim of thisproject is to  provide a seamless and interactive learning experience for students while making education more accessible and engaging. Additionally, it offers a robust platform for instructors to showcase their expertise and connect with learners worldwide.\n\nIn the sections that follow, we will explore the technical aspects of the platform in detail, covering the following areas:\n\n1)System Architecture: This section provides a high-level overview of the platform's components, including detailed diagrams illustrating the system architecture.\n\n2)Front-end: Here, we will delve into the front-end architecture, user interface design, and the features and functionalities of the front-end. We will also discuss the frameworks, libraries, and tools used to build the front-end.\n\n3)Back-end: This section covers the back-end architecture, detailing its features, functionalities, and the frameworks, libraries, and tools employed. We will also discuss the data models and database schema that power the platform.\n\n4)API Design: We will provide an in-depth look at the API design, including a list of API endpoints, their functionalities, and sample API requests and responses.\n\n5)Deployment: This section outlines the deployment process, including the hosting environment and infrastructure, as well as deployment scripts and configurations.\n\n6)Testing: Here, we will discuss the testing process, covering the types of testing performed and the test frameworks and tools used to ensure the platform's reliability.\n\n7)Future Enhancements: In this section, we will present a list of potential future enhancements to the platform. We will explain how these improvements could further enhance the platform, along with an estimated timeline and priority for implementing these changes.\n\nIn summary, This is a versatile and intuitive ed-tech platform designed to deliver an immersive learning experience to students and provide instructors with a global stage to share their expertise. The following sections will provide a comprehensive understanding of the platform's technical features and functionalities.\n\n\n\n# System Architecture\nThis ed-tech platform consists of three main components: the front end, the back end, and the database. The platform follows a client-server architecture, with the front end serving as the client and the back end and database serving as the server.\n\n**Front-end**\u003cbr\u003e\nThe front end of the platform is built using ReactJS, ReactJS allows for the creation of dynamic and responsive user interfaces, which are critical for providing an engaging learning experience to the students. The front end communicates with the back end using RESTful API calls\n\n**Back-end**\u003cbr\u003e\nThe back end of the platform is built using NodeJS and ExpressJS,. The back end provides APIs for the front end to consume, which include functionalities such as user authentication, course creation, and course consumption. The back end also handles the logic for processing and storing the course content and user data.\n\n**Database**\u003cbr\u003e\nThe database for the platform is built using MongoDB, which is a NoSQL database that provides a flexible and scalable data storage solution. MongoDB allows for the storage of unstructured and semi-structured data. The database stores the course content, user data, and other relevant information related to the platform.\n\n# Front End\nThe front end has all the necessary pages that an ed-tech platform should have. Some of these pages are:\n\n***For Students:***\n\u003cul\u003e\n  \u003cli\u003e\u003cstrong\u003eHomepage:\u003c/strong\u003e This page will have a brief introduction to the platform, as well as links to the course list and user details.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCourse List:\u003c/strong\u003e This page will have a list of all the courses available on the platform, along with their descriptions and ratings.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eWishlist:\u003c/strong\u003e This page will display all the courses that a student has added to their wishlist.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCart Checkout:\u003c/strong\u003e This page will allow the user to complete the course purchase.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCourse Content:\u003c/strong\u003e This page will have the course content for a particular course, including videos and other related material.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eUser Details:\u003c/strong\u003e This page will have details about the student's account, including their name, email, and other relevant information.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eUser Edit Details:\u003c/strong\u003e This page will allow the student to edit their account details.\u003c/li\u003e\n\u003c/ul\u003e\n\n\n***For Instructors:***\n\u003cul\u003e\n  \u003cli\u003e\u003cstrong\u003eInstructor Dashboard:\u003c/strong\u003e This page will have an overview of the instructor's courses, as well as the ratings and feedback for each course.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eInstructor Insights:\u003c/strong\u003e This page will have detailed insights into the instructor's courses, including the number of views, clicks, and other relevant metrics.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCourse Management Pages:\u003c/strong\u003e These pages will allow the instructor to create, update, and delete courses, as well as manage the course content and pricing.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eView and Edit Profile Details:\u003c/strong\u003e These pages will allow the instructor to view and edit their account details.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eAdmin Dashboard (Future Scope):\u003c/strong\u003e This page will have an overview of the platform's courses, instructors, and students.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eAdmin Insights (Future Scope):\u003c/strong\u003e This page will have detailed insights into the platform's metrics, including the number of registered users, courses, and revenue.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eInstructor Management (Future Scope):\u003c/strong\u003e This page will allow the admin to manage the platform's instructors, including their account details, courses, and ratings.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eOther Relevant Pages (Future Scope):\u003c/strong\u003e The admin will also have access to other relevant pages, such as user management and course management pages.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cbr\u003e\n\nTo build the front end, we use frameworks and libraries such as ReactJS, We also use CSS and Tailwind, which are styling frameworks that help make the user interface look good and responsive. To manage the state of the application, we use Redux, which is a popular state management library for React.\n\n# Back End\nDescription of the Back-end Architecture: This Project uses a monolithic architecture, with the backend built using Node.js and Express.js, and MongoDB as the primary database.\n\u003cbr\u003e\nFeatures and Functionalities of the Back-end: The back end of This Project provides a range of features and functionalities, including:\n\n\u003col\u003e\n  \u003cli\u003e\u003cstrong\u003eUser Authentication and Authorization:\u003c/strong\u003e Students and instructors can sign up and log in to the platform using their email addresses and password. The platform also supports OTP (One-Time Password) verification and forgot password functionality for added security.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCourse Management:\u003c/strong\u003e Instructors can create, read, update, and delete courses, as well as manage course content and media. Students can view and rate courses.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003ePayment Integration:\u003c/strong\u003e Students will purchase and enroll in courses by completing the checkout flow, which is followed by Razorpay integration for payment handling.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCloud-Based Media Management:\u003c/strong\u003e This Project uses Cloudinary, a cloud-based media management service, to store and manage all media content, including images, videos, and documents.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eMarkdown Formatting:\u003c/strong\u003e Course content in document format is stored in Markdown format, which allows for easier display and rendering on the front end.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cbr\u003e\nFrameworks, Libraries, and Tools used: The back end uses a range of frameworks, libraries, and tools to ensure its functionality and performance, including:\n\n\u003col\u003e\n  \u003cli\u003e\u003cstrong\u003eNode.js:\u003c/strong\u003e Node.js is used as the primary framework for the back end.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eMongoDB:\u003c/strong\u003e MongoDB is used as the primary database, providing a flexible and scalable data storage solution.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eExpress.js:\u003c/strong\u003e Express.js is used as a web application framework, providing a range of features and tools for building web applications.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eJWT:\u003c/strong\u003e JWT (JSON Web Tokens) are used for authentication and authorization, providing a secure and reliable way to manage user credentials.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eBcrypt:\u003c/strong\u003e Bcrypt is used for password hashing, adding an extra layer of security to user data.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eMongoose:\u003c/strong\u003e Mongoose is used as an Object Data Modeling (ODM) library, providing a way to interact with MongoDB using JavaScript.\u003c/li\u003e\n\u003c/ol\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famankr2076%2Fe-learning-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famankr2076%2Fe-learning-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famankr2076%2Fe-learning-platform/lists"}