How bale-e/back_y_front works
InaGo is an indoor campus wayfinding application: users search for a room or service, choose a destination, and view a route over a 3D building map. The backend exposes authenticated APIs for building/location catalog management and route calculation; route responses can be enriched with waypoints, arrows, and a smoothed line. The Angular client fetches campus data and renders interactive floors and navigation. The README documents A* and Firestore-backed navigation; where their internal call wiring was not shown, those links are omitted or marked unverified.
Main entry points: map-navigation.service.ts Map Navigation · NavegacionController.js Navigation Controller · espacios-api.service.ts Spaces API Client · edificios.routes.js Building Routes
Components 23
Angular Client
- Application Shell
frontend/src/app/app.component.ts - Destination Search
frontend/src/app/map3d/components/map-search/map-search.component.ts - Map Navigation
frontend/src/app/map3d/services/map-navigation.service.ts - 3D Scene
frontend/src/app/map3d/services/babylon-scene.service.ts - Building Registry
frontend/src/app/core/services/building-registry.service.ts - Building Admin
frontend/src/app/admin/admin-panel.component.ts - Spaces API Client
frontend/src/app/services/espacios-api.service.ts - Navigation API Client
frontend/src/app/services/navegacion-api.service.ts
HTTP API
- Building Routes
backEnd/src/modules/api/infrastructure/routes/edificios.routes.js - Location Routes
backEnd/src/modules/api/infrastructure/routes/locaciones.routes.js - Navigation Routes
backEnd/src/modules/api/infrastructure/routes/navegacion.routes.js - Building Controller
backEnd/src/modules/api/infrastructure/controllers/EdificiosController.js - Location Controller
backEnd/src/modules/api/infrastructure/controllers/LocacionesController.js - Navigation Controller
backEnd/src/modules/api/infrastructure/controllers/NavegacionController.js
Space Catalog
- Space Use Cases
backEnd/src/modules/gestion_espacios/application/use-cases - Building Repository
backEnd/src/modules/gestion_espacios/infrastructure/repositories/FirestoreEdificioRepository.js - Location Repository
backEnd/src/modules/gestion_espacios/infrastructure/repositories/FirestoreLocacionRepository.js
Route Navigation
- Route Calculation
backEnd/src/modules/sistema_navegacion/application/use-cases/CalcularRutaUseCase.js - Route Visualization
backEnd/src/modules/visualizacion_mapa/application/use-cases/GenerarVisualizacionRutaUseCase.js - Navigation Repository
backEnd/src/modules/sistema_navegacion/infrastructure/repositories/FirestoreNavigationRepository.js
Data Infrastructure
- Firebase Admin
backEnd/src/shared/infrastructure/firebase/firebaseAdmin.js - Memory Cache
backEnd/src/shared/infrastructure/cache/MemoryCacheAdapter.js
Other components
- Campus Visitor
Connections 27
- Campus Visitor → Destination Search: searches destinations
README.md - Destination Search → Map Navigation: selects destination
- Application Shell → Spaces API Client: loads buildings
frontend/src/app/app.component.ts - Map Navigation → Spaces API Client: fetches spaces
frontend/src/app/map3d/services/map-navigation.service.ts - Map Navigation → Navigation API Client: requests routes
frontend/src/app/map3d/services/map-navigation.service.ts - Map Navigation → Building Registry: reads building data
frontend/src/app/map3d/services/map-navigation.service.ts - 3D Scene → Building Registry: reads building data
frontend/src/app/map3d/services/babylon-scene.service.ts - 3D Scene → Map Navigation: renders navigation
- Building Admin → Spaces API Client: manages buildings
frontend/src/app/admin/admin-panel.component.ts - Spaces API Client → Building Routes: requests catalog
README.md - Navigation API Client → Navigation Routes: requests routes
README.md - Building Routes → Building Controller: dispatches
backEnd/src/modules/api/infrastructure/routes/edificios.routes.js - Building Routes → Location Controller: dispatches
backEnd/src/modules/api/infrastructure/routes/edificios.routes.js - Location Routes → Location Controller: dispatches
backEnd/src/modules/api/infrastructure/routes/locaciones.routes.js - Navigation Routes → Navigation Controller: dispatches
backEnd/src/app.js - Building Controller → Space Use Cases: executes cases
backEnd/src/modules/api/infrastructure/controllers/EdificiosController.js - Location Controller → Space Use Cases: executes search
backEnd/src/modules/api/infrastructure/controllers/LocacionesController.js - Building Controller → Building Repository: constructs cases
backEnd/src/modules/api/infrastructure/controllers/EdificiosController.js - Navigation Controller → Route Calculation: calculates route
backEnd/src/modules/api/infrastructure/controllers/NavegacionController.js - Navigation Controller → Route Visualization: builds visualization
backEnd/src/modules/api/infrastructure/controllers/NavegacionController.js - Navigation Controller → Navigation Repository: reads paths
backEnd/src/modules/api/infrastructure/controllers/NavegacionController.js - Building Repository → Firebase Admin: reads documents
backEnd/src/modules/gestion_espacios/infrastructure/repositories/FirestoreEdificioRepository.js - Location Repository → Firebase Admin: reads documents
- Navigation Repository → Firebase Admin: reads paths
backEnd/src/modules/sistema_navegacion/infrastructure/repositories/FirestoreNavigationRepository.js - Building Repository → Memory Cache: uses cache
backEnd/src/modules/gestion_espacios/infrastructure/repositories/FirestoreEdificioRepository.js - Location Repository → Memory Cache: uses cache
backEnd/src/modules/gestion_espacios/infrastructure/repositories/FirestoreLocacionRepository.js - Navigation Repository → Memory Cache: uses cache
backEnd/src/modules/sistema_navegacion/infrastructure/repositories/FirestoreNavigationRepository.js