Nodejs
ExpressJs
- creating express app and Connecting to local mongoDB.
- creating models with validation.
- Teacher, student and superAdmin CRUD with validation.
- authorization, password hashing and authentication.
- single and multiple images uploading for students.
- dockerizing for continous integration.
- git version controlling.
- creating reports of students.
- implementing .env file for environment variables.
- Connecting to mongoDB Cluster.
- swagger documentation for documenting APIs.
- Error handling.
- Clustering and multithreading for dividing load of heavy processing.
- testing
- github actions for continous deployement.
- Mongodb: noSqL database
- JOI: For validation in models
- mongoose: ORM
Multer: for single and multiple image uploading.
- passportJS: for authorization.
- JWT: json web tokens for authentication.
- Bcrypt: for password hashing.
Swagger: using YML file for APIs documentation
excelJs: creating excel sheets for sutdents reports.
clustering for multithreading to dividing load on application of heavy process. and making application faster.
- Nodemon: for continous app runtime
- Docker: for handling and delivering application faster
- git: for version controlling
1.Postman
- For Api testing.
- Writing test cases in Postman for checking API's runtime, success status, input and output of data validation.
- Clone repo and to install all dependencies Command: npm install
- create .env file and add PORT, DB_USERNAME and DB_PASSWORD (mongoDB cluster)
- to run in docker command: docker-compose up -d
- to run without docker command: npm start