Brainwave Academy is a full-stack MERN (MongoDB, Express, React, Node.js) web application that provides an e-learning platform similar to Udemy. It allows users to browse and enroll in various online courses, as well as create and manage their own courses.
- User Authentication π: Users can sign up, log in, and manage their account information.
- Course Catalog π: Users can browse through a catalog of available courses, filter and sort them, and view detailed course information.
- Course Enrollment π: Authenticated users can enroll in courses and track their progress.
- Course Creation βοΈ: Instructors can create new courses, add lectures, quizzes, and other materials.
- Course Management π οΈ: Instructors can manage their courses, update content, and monitor student progress.
- Shopping Cart and Checkout π: Users can add courses to their cart and complete purchases.
- User Profiles π€: Users can view and edit their profiles, including their enrolled courses and instructor-created courses.
- Reviews and Ratings β: Users can leave reviews and ratings for the courses they have taken.
- Front-end: React.js, React Router, Redux, Tailwind CSS
- Back-end: Node.js, Express.js, MongoDB, Mongoose
- Authentication: JWT (JSON Web Tokens)
- Payments: Razorpay
-
Clone the repository:
git clone https://github.com/omkarkhoche3448/Brainwave-Academy-Fullstack.git -
Install dependencies:
cd Brainwave-Academy-Fullstack npm install cd client npm install -
Set up environment variables:
- Create a
.envfile in the root directory and add the necessary environment variables, such as MongoDB connection string, Razorpay API keys, and JWT secret.
- Create a
-
Start the development server:
npm run devThis will start both the client and server simultaneously.
-
Open the application in your browser:
http://localhost:3000
We welcome contributions to the Brainwave Academy project. If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your fork.
- Submit a pull request to the main repository.