How hotel-de-l-avenue/hda-backend works
HDA is an Express API for hotel operations and connected restaurant, bar, stock, finance, casino, client, and staff workflows. A caller sends a request through the mounted API routes; route middleware and domain controllers handle it, models or controller SQL access MySQL, and the API returns a formatted response. The documented domain stages include accommodation reservations through check-in/out, restaurant orders and bar transactions, casino cashier sessions and chip operations, and client accounts/KYC. The README notes that signature routes are not mounted; unsampled wiring is shown only where documented or evident from the repository structure.
Main entry points: index.js API router · hebergementController.js Hotel handlers · restaurantController.js Restaurant handlers · db.js MySQL pool
Components 24
API entry
- Express server
server.js - API router
routes/index.js - JWT auth
middlewares/auth.js
Accommodation
- Hotel routes
routes/hebergementRoutes.js - Hotel handlers
controllers/hebergementController.js - Hotel data
models/hebergementModel.js
Food and stock
- Restaurant routes
routes/restaurantRoutes.js - Restaurant handlers
controllers/restaurantController.js - Restaurant data
models/restaurantModel.js - Bar routes
routes/barRoutes.js - Bar handlers
controllers/barController.js - Stock operations
models/stockModel.js
Casino operations
- Casino routes
routes/casinoRoutes.js - Casino handlers
controllers/casinoController.js
Shared services
- MySQL pool
config/db.js - Client routes
routes/clientRoutes.js - Client handlers
controllers/clientController.js - Client accounts KYC
models/clientModel.js - Signature routes
routes/signatureRoutes.js - Signature data
models/signatureModel.js - Finance handlers
controllers/financeController.js - Staff operations
controllers/rhController.js - Response formatting
utils/apiResponse.js
Other components
- API client
Connections 28
- API client → Express server: sends request
- Express server → API router: mounts API
- API router → Hotel routes: dispatches
- API router → Restaurant routes: dispatches
- API router → Bar routes: dispatches
- API router → Casino routes: dispatches
- API router → Client routes: dispatches
- Hotel routes → JWT auth: requires auth
- Hotel routes → Hotel handlers: dispatches
- Hotel handlers → Hotel data: calls
- Hotel handlers → Stock operations: uses stock
- Restaurant routes → Restaurant handlers: dispatches
- Restaurant handlers → Restaurant data: calls
- Restaurant handlers → Stock operations: uses stock
- Bar routes → JWT auth: requires auth
- Bar routes → Bar handlers: dispatches
- Casino routes → JWT auth: requires auth
- Casino routes → Casino handlers: dispatches
- Casino handlers → MySQL pool: queries SQL
- Client routes → Client handlers: dispatches
- Client handlers → Client accounts KYC: calls
- Client accounts KYC → MySQL pool: queries SQL
- Signature routes → Signature data: uses model
- Hotel handlers → Response formatting: formats response
- Restaurant handlers → Response formatting: formats response
- Client handlers → Response formatting: formats response
- Finance handlers → MySQL pool: accesses data
- Staff operations → MySQL pool: accesses data