AXE Server is a high-performance, microservices-based transportation platform designed to transform mobility in Algeria. It intelligently integrates public transport (bus, metro, train) and private ride-hailing (VTC) services to deliver the optimal route, time, and price to users — all in real-time.
Powered by AI agents, OSRM, Kafka, RabbitMQ, and a rock-solid Go + Python backend.
A smart, scalable, and eco-conscious backend platform for public transport routing, optimized with GTFS, OSRM, and live vehicle integration. Wiki
---AXE follows a modular microservices architecture with clear domain separation, high availability, and AI capabilities.
Service | Tech Stack | Purpose |
---|---|---|
Gateway | Go, Gin, OAuth 2.0, gRPC | API Gateway, Auth, Routing orchestration |
Routing | Go, OSRM, RabbitMQ, PostgreSQL | Multi-modal journey planner |
VTC | Go, Kafka, Geocoding | Ride-hailing & dynamic pricing |
Data | FastAPI, Agents | AI-powered data collection & sync |
- Built with Go + chi
- Handles OAuth 2.0 login (Google)
- Issues JWT tokens to secure access
- Uses gRPC to communicate with Routing and VTC services
- Aggregates multi-modal routes (Public + VTC)
Key Endpoints:
/auth/google
/routes/best
/vtc/prices
- User management APIs
- Built with Go + GORM
- Integrates OSRM for road-based routing
- Supports bus, tram, train, metro, private transport
- Real-time updates via RabbitMQ
Data Models:
Stations
: With GPS and safety scoresLines
: Public routes with fares/schedulesStops
: Sequenced line stopsJourneys
: Optimized multi-transfer trips
Key Features:
- Route safety rating
- Dynamic fare calculation
- Public transport schedules
- Integration with Data Service for sync
- Built with Go
- Kafka-based event-driven architecture
- Dynamic pricing, geolocation, driver/passenger matching
Key Features:
getVtcPrices()
— surge-based real-time estimates- Multi-provider integration
- Location-to-location time/distance estimation
- Built with FastAPI + Python
- 3 AI Agents:
ScraperAgent
→ Fetches raw transport dataCleanerAgent
→ Normalizes and validatesFinalizerAgent
→ Formats and stores in DB
- Post-processing Diffing Algorithm compares finalized output with database.
- If changes detected → emits sync event to Routing Service via RabbitMQ
- Else → No-op
Layer | Tech |
---|---|
Messaging | RabbitMQ (public), Kafka (VTC) |
Databases | PostgreSQL (shared schema) |
Auth | OAuth 2.0 + JWT |
Containerization | Docker Compose |
Comm Protocols | REST (clients), gRPC (internal), Webhooks |
Orchestration | Internal service discovery |
- AI-Powered Processing: Clean, validate, and sync transport data in real-time.
- Multi-Modal Smart Routing: Combines public + private transport options.
- Pricing Engine: Compares public fares vs. VTC surge pricing.
- Real-Time Updates: Station availability, delays, and new lines.
- Secure and Modular: Authenticated API access with scalable microservices.
Focus Region: Algeria (especially Algiers)
- Commuters: Work/school optimization
- Tourists: Easy transport discovery
- Price-Conscious Riders: Compare cheapest route
- Infrastructure Teams: Use AI insights for public transport improvement
Visit
docs/diagrams.md
for full Mermaid UML Diagrams, including:
- Component Diagram
- Deployment Diagram
- Sequence Diagrams (OAuth + Sync Flow)
- Activity Diagram (Agent Flow + Diffing)
- Class Diagrams (Routing Models + Agent Structure)
- State Diagrams
- Docker + Docker Compose
- Go 1.24.4+
- Python 3.10+
- Node.js (for frontend, if applicable)
git clone https://github.com/your-org/axe-server.git
cd axe-server
docker-compose up --build
/gateway # gin + Go auth & orchestration
/routing # Public transport logic + OSRM
/vtc # Ride-hailing & dynamic pricing
/data_service # FastAPI multi-agent system
/proto # gRPC definitions
/config # Env, database configs
/docs # UML diagrams, API specs
We welcome contributions for:
- New agents (e.g., image analysis)
- Localization (French, Arabic)
- Mobile/Frontend integration
- Performance improvements
Licensed under the MIT License. See LICENSE
for more.
AXE Server is not just a platform — it's the future of urban mobility in Algeria. 🇩🇿