A NodeJS learning project involving the creation of a restful API using NodeJS for backend coding, with Express as framework and MongoDB as database
- Basic file structure setup (Following the MVC architecture)
- Express set up
- Set up of tour routes (CRUD) with dummy local data
- Very basic middleware
- Integration with database
- Mongoose models created
- API endpoints for tours written
- Implemented API features of filtering, sorting, selecting, limiting and pagination, and also alias routes
- Created tour statistics routes using aggregation pipeline
- Wrote data validations in Tour model
- Proper Error Handling with Express with separate error classes and controllers
- Complete authentication with JSON web tokens with password reset functionality
- Implemented CRUD operations on authenticated users
- Implemented security features like Data Sanitization, rate limiting, etc
- Modelled the data with appropriate referencing for reviews and users and tours
- Wrote and implemented factory functions for commonly used routes
- Implemented authorization
- Implemented geospatial routes and queries
- Front-end portion