- Initialize a new Node.js project
- Add Express, jsonwebtoken, mongoose to it as a dependency
- Create index.js file
- Add Skeleton routes for user login, sign up, purchase, a course selling backend, see all courses, see the purchased courses course
- Define Schema for users, admin, signup , login, purchases, to store the data on database connection string
- add a database (mongodb), use dotenv file to store the database connection string on it
- add middlewares for users, admin authentication.
- Complete the routes for users login, signup, purchases, 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
- frontend in ejs
- frontend in React