How skorpionreser/gtamapquant works
GTAMapQuant is a web app for viewing and managing GTA map markers and polygonal areas. The browser map workflow loads marker and area data through feature hooks and API clients, then presents it in the map UI; create and marker-edit actions travel through API controllers and MediatR handlers to SQLite. The backend also validates requests and supports marker lookup and deletion. Frontend wiring beyond the sampled files is inferred from the feature layout, so uncertain links are omitted.
Main entry points: MapMarkersController.cs Marker endpoints · GtaMapDbContext.cs Map database · MapPage.tsx Map page · MapAreasController.cs Areas endpoints
Components 18
Map frontend
- Map page
frontend/src/features/map/MapPage.tsx - GTA map
frontend/src/features/map/components/GtaMap/GtaMap.tsx - Area hook
frontend/src/features/map/hooks/useMapAreas.ts - Marker hook
frontend/src/features/map/hooks/useMapMarkers.ts - Area API client
frontend/src/features/map/api/mapAreasApi.ts - Marker API client
frontend/src/features/map/api/mapMarkersApi.ts
HTTP API
- Areas endpoints
backend/GTAMapQuant.Api/Controllers/MapAreas/MapAreasController.cs - Marker endpoints
backend/GTAMapQuant.Api/Controllers/MapMarkers/MapMarkersController.cs
Application logic
- Request validation
backend/GTAMapQuant.BLL/MediatR/Behaviors/ValidationBehavior.cs - Create area
backend/GTAMapQuant.BLL/MediatR/MapAreas/CreateMapArea/CreateMapAreaHandler.cs - List areas
backend/GTAMapQuant.BLL/MediatR/MapAreas/GetAllMapAreas/GetAllMapAreasHandler.cs - Create marker
backend/GTAMapQuant.BLL/MediatR/MapMarkers/CreateMapMarker/CreateMapMarkerHandler.cs - Read markers
backend/GTAMapQuant.BLL/MediatR/MapMarkers/GetAllMapMarkers/GetAllMapMarkersHandler.cs - Find marker
backend/GTAMapQuant.BLL/MediatR/MapMarkers/GetMapMarkerById/GetMapMarkerByIdHandler.cs - Update marker
backend/GTAMapQuant.BLL/MediatR/MapMarkers/UpdateMapMarker/UpdateMapMarkerHandler.cs - Delete marker
backend/GTAMapQuant.BLL/MediatR/MapMarkers/DeleteMapMarker/DeleteMapMarkerHandler.cs
Persistence
- Map database
backend/GTAMapQuant.DAL/Data/GtaMapDbContext.cs
Other components
- Map user
Connections 22
- Map user → Map page: uses
- Map page → GTA map: renders
- Map page → Area hook: loads areas
- Map page → Marker hook: loads markers
- Area hook → Area API client: requests areas
- Marker hook → Marker API client: requests markers
- Area API client → Areas endpoints: HTTP requests
- Marker API client → Marker endpoints: HTTP requests
- Areas endpoints → List areas: dispatches query
- Areas endpoints → Create area: dispatches command
- Marker endpoints → Read markers: dispatches query
- Marker endpoints → Find marker: dispatches query
- Marker endpoints → Create marker: dispatches command
- Marker endpoints → Update marker: dispatches command
- Marker endpoints → Delete marker: dispatches command
- Create area → Map database: writes area
- List areas → Map database: reads areas
- Create marker → Map database: writes marker
- Read markers → Map database: reads markers
- Find marker → Map database: reads marker
- Update marker → Map database: updates marker
- Delete marker → Map database: deletes marker