- node js
- docker
- Run git clone https://github.com/gitsumanmandal/learning-management-system.git
- Then run cd learning-management-system
Now you can see 3 folders. One lms-services for API & services, and other one lms-ui for front end, lms-migration for initial migration data.
- docker run -d -p 5001:27017 --name=lms_db mongo:latest
- from learning-management-system folder run cd lms-migration
- Run npm i
- Run node index.js
- Open a new terminal, from learning-management-system folder run cd lms-services
- Run npm i
(.env is already comitted, so don't need to worry about that) - Run npm run start
- Keep the terminal open
The services app is up and running on localhost:3000
- Open a new terminal, from learning-management-system folder run cd lms-ui
- Run npm i
(.env variables are already attached to start command, so son't need to worry about that) - Run npm run dev
- Keep the terminal open
The front-end app is up and running on localhost:3001
Now navigate to localhost:3001/sign-in and login with a student (example student credential - user: suman, password: Hello@123). You can check the all courses, enroll courses, you can enroll into course, then mark lessons learned, and see the progress (till this developed).
You can also check localhost:3000/api for OpenAPI Swagger Documentation.
- In Nest JS / Backend services, technical things which are covered -
- Auth | JWT
- Login | Bcrypt
- Authenticated API | Auth Guard
- Validation
- Repository Pattern
- Logger | In Built Logger
- Exception Handling
- Interceptor | for Response
- Decorator | Public decorato written
- In Next JS / Front End, technical things which are covered -
- Sign In, Sign Up
- Session
- Token
- Route
- Lazy Loading
- MUI (for ux)
- React concepts like - useState, useContext, useNavigator, useNavigator, useEffect, provider etc
In backend mainly (not writting for front-end) -
- More validation on business layer
- Log on file level
- More currated response interceptor
- Better exception handling and write Exception filters