How devarii/smart-airport-navigation-system works
This is a Smart Airport Navigation System: visitors can browse airport facilities by terminal, floor, and category, search for destinations, and view map and route-related UI. Administrators have a separate workflow for managing facility, category, and operating-hours data. The sampled API code confirms database-backed facility, category, floor, and hours operations, including authentication for writes. Map and routing modules are present in the tree, but their runtime wiring was not sampled, so those connections are left unspecified.
Main entry points: prisma.ts Prisma client · auth.ts Session authentication · facilities/route.ts Facility API · [id]/route.ts Facility management API
Components 24
Visitor Navigation
- Navigation page
src/app/page.tsx - Facility search
src/components/ui/searchModal.tsx - Category filters
src/components/ui/categoryBar.tsx - Terminal selector
src/components/ui/terminalSelector.tsx - Facility details
src/components/ui/POIDetailPopup.tsx - Route panel
src/components/ui/routePanel.tsx
Map and Routing
- Map canvas
src/components/map/mapCanvas.tsx - Room overlay
src/components/map/RoomOverlay.tsx - Path renderer
src/components/map/pathRenderer.tsx - A* pathfinding
src/lib/astar.ts - Terminal wall grids
src/data/walls/t1.ts - Map interaction state
src/store/mapStore.ts
Administration
- Admin dashboard
src/app/admin/page.tsx - Admin facility search
src/components/admin/adminSearchModal.tsx
Data and Access
- Facility API
src/app/api/facilities/route.ts - Facility management API
src/app/api/facilities/[id]/route.ts - Operating-hours API
src/app/api/facilities/[id]/hours/route.ts - Category API
src/app/api/categories/route.ts - Category management API
src/app/api/categories/[id]/route.ts - Floor API
src/app/api/floors/route.ts - Session authentication
src/lib/auth.ts - Prisma client
src/lib/prisma.ts
Other components
- Airport visitor
- PostgreSQL database
Connections 15
- Airport visitor → Navigation page: opens
- Facility search → Facility API: fetches facilities
- Admin facility search → Facility API: fetches facilities
- Facility API → Prisma client: queries
- Facility management API → Prisma client: reads and writes
- Operating-hours API → Prisma client: reads and upserts
- Category API → Prisma client: reads and writes
- Category management API → Prisma client: reads and writes
- Floor API → Prisma client: queries
- Facility API → Session authentication: checks writes
- Facility management API → Session authentication: checks writes
- Operating-hours API → Session authentication: checks writes
- Category API → Session authentication: checks writes
- Category management API → Session authentication: checks writes
- Prisma client → PostgreSQL database: queries