2.5 KiB
Transit Project Overview
This document provides the root overview for the Transit Project platform, maintained within the documentation hub.
For the primary repository landing page, see the root ../../README.md.
For the complete documentation index, see README.md.
System Architecture
XTransit is a service-oriented transit platform consisting of Node.js microservices, React operator interfaces, and retained legacy clients:
auth_api/— Authentication, JWT token issuance, and admin role verification (port 5000)employee_api/— Employee management and onboarding (port 4000)transit_api/— Schedules, routes, fleet, GPS tracking, and transit administration (port 5001)error_log_api/— Centralized error collection and protected log access (port 5003)admin_ui/— React administration console (port 5174)monitoring_ui/— React service monitoring dashboard and documentation hub (port 5175 / dev 5173)windows_xp_driver_ui/— Native Win32 driver client targeting Windows XP-era systemsdeprecated/— Legacy Flutter bus terminal retained for reference
Public employee API: https://employees.xtransit.testinstance.nl
Public admin panel: https://admin.xtransit.testinstance.nl
Public error logging: https://error.xtransit.testinstance.nl
Public transit API: https://transit.xtransit.testinstance.nl
Core Documentation
- Project Guide — Setup, architecture, environment variables, Docker, deployment, databases, and troubleshooting
- Monitoring UI Guide — Complete
monitoring_uioperations and development manual - Domains Overview — Public domain and service mapping
- Docker Notes — Container workflow and compose configurations
- Deployment Guide — Production deployment procedures
- CI/CD & Portainer Guide — Image builds, registry, and stack operations
- Security & Private Files — Security practices & credential safety rules
Quick Start
Run the complete service stack using Docker Compose:
docker compose --env-file .env up -d
Run the monitoring dashboard locally:
cd monitoring_ui
npm install
npm run dev
Keep database credentials, JWT secrets, registry credentials, and tokens outside version control. Use environment variables, ignored local files, Portainer secrets, or another secret manager.