How gatocoder282/mapit works
MapIt is a multi-tenant spatial operations product: staff configure businesses and floor/sector maps, then users operate on live space state; public users can discover availability, book and pay. The graph also preserves tenant onboarding, authentication, and documented reservation/payment capabilities. Some reservation, payment, map-editor and realtime wiring is represented only at module/directory level because the supplied excerpts do not show their implementations.
Main entry points: TenantController.java Tenant REST API · app/app.routes.ts Staff console · spaces.ts Space configuration · app/app.routes.ts Public web
Components 28
Staff Console
- Staff console
apps/console/src/app/app.routes.ts - Tenant admin
apps/console/src/app/features/administration/tenants/ui/tenant-list.ts - Space configuration
apps/console/src/app/features/spaces/ui/spaces.ts - Spaces API client
apps/console/src/app/features/spaces/data/spaces-api.ts
Public Web
- Public web
apps/public-web/src/app/app.routes.ts - Availability & booking
apps/public-web/src/app/features/reservas/reservas.ts - Admin activation
apps/public-web/src/app/features/activation/data/activation-api.ts
Platform Backend
- Spring application
apps/backend/bootstrap/src/main/java/com/mapit/MapItApplication.java - Tenant REST API
apps/backend/modules/platform/platform-infrastructure/src/main/java/com/mapit/platform/infrastructure/TenantController.java - Tenant onboarding
apps/backend/modules/platform/platform-application/src/main/java/com/mapit/platform/application/TenantService.java - Tenant persistence
apps/backend/modules/platform/platform-infrastructure/src/main/java/com/mapit/platform/infrastructure/TenantPersistenceAdapter.java - Invitation email adapter
apps/backend/modules/platform/platform-infrastructure/src/main/java/com/mapit/platform/infrastructure/AdminInvitationEmailAdapter.java - Identity & JWT
apps/backend/modules/identity/identity-infrastructure/src/main/java/com/mapit/identity/infrastructure
Space Operations
- Space REST APIs
apps/backend/modules/spaces/spaces-infrastructure/src/main/java/com/mapit/spaces/infrastructure - Establishment & floor services
apps/backend/modules/spaces/spaces-application/src/main/java/com/mapit/spaces/application - Space domain
apps/backend/modules/spaces/spaces-domain/src/main/java/com/mapit/spaces/domain - Space persistence adapters
apps/backend/modules/spaces/spaces-infrastructure/src/main/java/com/mapit/spaces/infrastructure - Map engine port
libs/map-engine/src/lib/map-engine.port.ts
Live & Commerce
- Reservations
apps/backend/modules/reservations - Payments
apps/backend/modules/payments - Realtime events
apps/backend/modules/operations/operations-infrastructure/src/main/java/com/mapit/operations/infrastructure/realtime - Feature flags
apps/backend/modules/platform/platform-infrastructure/src/main/java/com/mapit/platform/infrastructure/flags
Other components
- Staff
- Public customer
- Email service
- WebSocket / STOMP
- Unleash
- PostgreSQL
Connections 25
- Staff → Staff console: uses
- Public customer → Public web: uses
- Staff console → Tenant admin: routes to
- Staff console → Space configuration: routes to
- Space configuration → Spaces API client: requests data
- Spaces API client → Space REST APIs: calls REST
- Public web → Availability & booking: routes to
- Public web → Admin activation: routes to
- Spring application → Tenant REST API: hosts
- Tenant REST API → Tenant onboarding: invokes
- Tenant onboarding → Tenant persistence: reads/writes
- Tenant onboarding → Invitation email adapter: sends invitation
- Invitation email adapter → Email service: delivers email
- Admin activation → Tenant REST API: activates account
- Tenant REST API → PostgreSQL: persists tenants
- Spring application → Identity & JWT: configures security
- Space REST APIs → Establishment & floor services: invokes
- Establishment & floor services → Space domain: uses domain
- Establishment & floor services → Space persistence adapters: reads/writes
- Space persistence adapters → PostgreSQL: persists spaces
- Space configuration → Map engine port: edits maps
- Availability & booking → Reservations: supports booking
- Reservations → Payments: supports payment
- Realtime events → WebSocket / STOMP: dispatches events
- Feature flags → Unleash: queries flags