Overview
TransitOps is a role-based platform spanning five operational personas plus a super-admin plane. It enforces dispatch eligibility and payload limits, scores vehicle health across five factors, auto-detects and auto-resolves operational exceptions, and records offline B2B payments through a calendar-aware billing ledger.
Problem & Context
Commercial fleet operations often run on spreadsheets, paper, and WhatsApp — where overloading, expired driver licenses, and double-dispatch go uncaught until they become fines or accidents, and true cost-per-vehicle is impossible to see in real time.
Key Capabilities
- Multi-tenant RBAC across five personas plus a super-admin console
- Trip state machine with payload-capacity and license-validity dispatch guards
- Concurrency-safe dispatch via pessimistic row locking
- Five-factor vehicle health scoring
- Operational exception engine with automatic resolution
- Manual / offline billing ledger with calendar-aware period math
- Groq-backed fleet assistant with prompt-injection filtering
Engineering Notes
Concurrency-safe dispatch with pessimistic row locking
Trip, vehicle, driver, and subscription rows are locked with SELECT ... FOR UPDATE inside transactions (12 lock sites verified), making double-dispatch and quota overrun impossible under load.
Idempotent exception engine with auto-resolution
Deterministic rule scans wrapped in tenant locks transition exceptions to RESOLVED when the underlying condition clears, preventing duplicate-alert fatigue.
Layered multi-tenancy
JWT claim → g.company_id → per-query company_id filtering → plan-based feature gating, applied through require_company / require_feature decorators.
Calendar-aware manual billing
A month-end-safe add_months routine and reference-unique record_payment support regional cash / UPI / bank-transfer workflows instead of recurring cards.
Verified in the Repository
Facts below are verified in the project's source repository (static code audit). They are not runtime or business metrics.
- 193 automated test functions defined across 31 test files
- 9 Alembic migrations; 17 tables created; 24 active ORM model classes
- 33 route modules (including 16 admin modules)
- 43 frontend pages (19 super-admin pages)
- AI assistant uses Groq llama-3.3-70b-versatile
Current Status & Limitations
MVP · Pre-production.
- Not deployed — runs via Docker Compose or the VPS deploy script.
- Vehicle location relies on manual and dispatcher input, not live GPS/OBD-II telemetry.
- Online payment gateways exist in code but are disabled in favor of manual billing.