Back to Projects

Natours API

A backend API for a tour booking app featuring advanced filtering, sorting, pagination, authentication, authorization, and data validation (MVC).

✓ Demonstrated scalable backend architecture with advanced query features and role-based authorization.

Node.jsExpress.jsMongoDBMongooseJWTREST

01What problem does it solve?

Tour booking platforms require complex filtering, sorting, and pagination logic alongside secure multi-role authorization.

02Constraints & Tradeoffs

Must implement MVC architecture. Advanced query features (filter, sort, paginate) required. Auth must distinguish between user, guide, and admin roles.

03Architecture & Data Flow

Client ─► Express Router ─► Auth & Role Middleware
                                    │
                             MVC Controllers
                                    │
                          Mongoose Models (MongoDB)

04Screenshots

Natours API screenshot 1

05What was the outcome?

Fully functional tour booking API with advanced query engine, authentication, and role-based access control.

Back to Projects