- Clone the repo to your local environment, you have to separately install all the dependencies for backend and frontend.
-> For Backend, go to the backend folder (cd Backend) and run
npm i
-
Use MongoDB Cloud Storage or you can Install MongoDB
-
add your environmental variables
-
Create a .env file in the root directory of the backend folder and add your tokens there with respect to the config files variables.
- ACCESS_TOKEN_SECRET = "somesecretlongstring"
- ACCESS_TOKEN_LIFE = 10H
- REFRESH_TOKEN_SECRET = "somesecretlongstringxyz"
- REFRESH_TOKEN_LIFE = 10H
- SENDGRID_KEY = "CreateAccountonSendGridaccesstheotpandgetthekeystringhere"
- MONGO_DATABASE = "CreateAccountonMongoDBAtlascreateclustergetthekeystringhere"
- OAuth2Client = ""
- STRIPE_SECRET_TOKEN = ""
- REDIS_HOST = ""
- REDIS_PASSWORD = ""
- REDIS_PORT = ""
-> For Frontend, go to the frontend folder (cd Front-end) and run
npm i
- To run a development environment, you can use the
npm start
command. This will start up a development web server on port 3000 for frontend, and a nodemon-watched API server on port 8080.
-For Student's
- Authentication with signup, login, OTP, resend OTP, forgot password (fully validated with bootstrap alerts)
- Google authentication using react-google-login and google auth-library
- Payment gateway -Stripe integrated with backend to buy courses with Net Banking / Card.
- Redux store to easily manage states
- Homepage with courses (categorically)
- Recommended Courses based on user's preferences (Recommendation System)
- Rating of Courses
- Bookmarked Courses where users can remove or add a bookmark
- Download resources (pdf - notes)
- Responsive React Video player for videos
- Progress bar
- CoursePage with all the content of the course
- Searching based on course and teacher
- Real Time Live Group classes
-For Teacher's
- Proper Authentication system with signup, login, OTP, resend OTP, forgot password (fully validated with bootstrap alerts)
- Fully validated uploading form with description, title, Image and other details
- CKEditor for writing in textbox with abilities to add different headings, paragraphs, bold, italics, link, tables, sizes etc
- Teacher can upload up to 5 videos with an upload bar to show progress
- Teachers can see their uploaded courses
- Teachers can delete their course
- Teachers can edit their course