How manohar984/wonderlust works
Wanderlust Chronicles is a travel-planning portal: visitors browse destinations and generate travel tickets, while registered users can authenticate and administrators manage destinations, users, and portal statistics. The principal workflow runs from the Frontend through the modular Backend API to MongoDB, with destination data available as a fallback. The tree also contains a separate root-level server implementation; it is shown as a parallel, simpler API. Frontend source was not sampled, so specific UI-to-endpoint wiring is not asserted.
Main entry points: server.js API server · destinationRoutes.js Destination routes · adminRoutes.js Admin routes · adminController.js Admin service
Components 24
Web clients
- Travel portal
- Portal interactions
Frontend/assets/js/main.js - Admin interface
Frontend/admin.html - Admin interactions
Frontend/assets/js/admin.js
Modular API
- API server
Backend/server.js - Auth routes
Backend/routes/authRoutes.js - Destination routes
Backend/routes/destinationRoutes.js - Ticket routes
Backend/routes/ticketRoutes.js - Admin routes
Backend/routes/adminRoutes.js - JWT authentication
Backend/middleware/authMiddleware.js - Admin authorization
Backend/middleware/adminMiddleware.js
Travel services
- Account service
Backend/controllers/authController.js - Destination service
Backend/controllers/destinationController.js - Ticket service
Backend/controllers/ticketController.js - Admin service
Backend/controllers/adminController.js - Fallback destinations
Backend/destinationsData.js
Persistence
- User records
Backend/models/User.js - Destination records
Backend/models/Destination.js - Ticket records
Backend/models/Ticket.js
Other components
- Traveler
- Administrator
- MongoDB
- Standalone API
server.js - Root destination data
destinationsData.js
Connections 31
- Traveler → Travel portal: uses
- Travel portal → Portal interactions: loads
- Portal interactions → API server: API requests
- Administrator → Admin interface: uses
- Admin interface → Admin interactions: loads
- Admin interactions → API server: API requests
- API server → Auth routes: mounts
- API server → Destination routes: mounts
- API server → Ticket routes: mounts
- API server → Admin routes: mounts
- Auth routes → Account service: dispatches
- Destination routes → Destination service: dispatches
- Ticket routes → Ticket service: dispatches
- Admin routes → Admin service: dispatches
- API server → JWT authentication: protects tickets
- Destination routes → JWT authentication: checks writes
- Destination routes → Admin authorization: checks writes
- Admin routes → JWT authentication: checks access
- Admin routes → Admin authorization: checks role
- Account service → User records: reads and writes
- Destination service → Destination records: reads and writes
- Destination service → Fallback destinations: fallback reads
- Ticket service → Ticket records: reads and writes
- Admin service → User records: reads and writes
- Admin service → Destination records: reads
- Admin service → Ticket records: reads
- User records → MongoDB: persists
- Destination records → MongoDB: persists
- Ticket records → MongoDB: persists
- Standalone API → Root destination data: fallback reads
- Standalone API → MongoDB: connects