- Http Essential
- Postman client
- Restful Api
- Express Framework
- Routing & Controller
- MongoDB Atlas & Compass
- Mongoose ODM
- Advance query ( Pagination and filter etc)
- Model & Relationships
- Middleware ( Express & Mongoose)
- MongoDB Geospatial Index/ GeoJSON
- Geocoding
- Custom Error Handling
- User Roles and Permission
- Aggregation
- Photo Upload
- Authentication with JWT & Cookies
- Emailing Password Reset Tokens
- Custom Database seeder Using JSON files
- Password and Token Hashing
- Security: NO SQL Injection XSS, etc
- Creating Documentation
- Deployment with PM2, NGINX, SSL
nodemon server.js
- app -Library express
- route
- Controller
- Middleware(Morgon)
- Database mongo db mongodb.com cluster user for configuration Network access-- compass for db
- monngoose js
- Colors Lib
- Models - DB complex, min max type, maxlength required with message validation match
- geo json lib
- Manage preset in header in postman
- Error Handling Custom Error, Mongoose error, async, await
- Middleware node-geocoder -map quest
- GEOCODER_PROVIDER=mapquest and GEOCODER_API_KEY=
- Query - sort pagination , select skip
- node seeder -d for deleting and -i for insert
- Complex nesting routing
- Photo upload using https://www.npmjs.com/package/express-fileupload
- https://www.pexels.com/search/trekking/
- Added advance Results
- npm i jsonwebtoken bcryptjs
- Added user model and password hashing
- Added sign with token
- Protect route with token
- Create route to get current user
- Setting env variable in postman pm.environment.set("token", pm.response.json().token)
- Reset password with email using https://www.nodemailer.com/
- https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb
- npm i express-mongo-sanitize
- npm i helmet
- npm install xss-clean --save
- npm i express-rate-limit
- npm i hpp -http param pollution attacks
- npm cors
- https://github.com/thedevsaddam/docgen
- api document using postman
- docgen build -i ....path of postaman export file
- docgen build -i dev.postman_collection.json -o index.httml
- pm2 install - npm install pm2 -g
- https://pm2.keymetrics.io/
sudo ufw enable ufw allow https ssh and http