mirror of
https://github.com/SamyRai/turash.git
synced 2025-12-26 23:01:33 +00:00
1.4 KiB
1.4 KiB
Public transport integration
This module provides read-only access to precomputed public transport data and optionally imports it into the database.
Data sources
- data/bugulma_public_transport.json or data/bugulma_public_transport_enriched.json (preferred): preprocessed JSON with stops and metadata
- data/bugulma_gtfs_export/* : GTFS export with stops.txt and routes.txt
Routes
- GET /api/v1/public-transport/metadata — returns dataset metadata
- GET /api/v1/public-transport/stops — returns common stops directory
- GET /api/v1/public-transport/stops/search?q=term — search stops by substring
- GET /api/v1/public-transport/stops/:id — get a single stop by key
- GET /api/v1/public-transport/gtfs/:filename — raw GTFS file (e.g., README.txt, stops.txt, routes.txt)
Database
- Two new tables are automatically migrated via GORM:
public_transport_stopspublic_transport_routes
Seeding
- If
data/bugulma_public_transport_enriched.jsonand/ordata/bugulma_gtfs_exportare present, the server will attempt to import stops and routes automatically at startup.
Repository
- Implementation:
internal/repository/public_transport_repository.go - Interface:
domain.PublicTransportRepository
Service
- Read-only file loader:
internal/service/public_transport_service.go - Importer/seeder:
internal/service/public_transport_importer.go