-
Initialize a new Node.js project
-
Add Express, jsonwebtoken, mongoose to it as a dependency
-
Create index.js and write boilerplate code
-
Add route skeleton for user login, signup, purchase a course, sees all courses, sees the purchased courses course
-
Add routes for admin login, admin signup, create a course, delete a course, add course content.
-
Define the schema for User, Admin, Course, Purchase
-
Add a database (mongodb), use dotenv to store the database connection string
-
Add middlewares for user and admin auth
-
Complete the routes for user login, signup, purchase a course, see course (Extra points - Use express routing to better structure your routes)
-
Create the frontend
-
Good to haves
Use cookies instead of JWT for auth Add a rate limiting middleware (low pri) Frontend in ejs (low pri) Frontend in React