Skip to content

About

TransitOps is a role-based transport operations platform built for logistics teams. It replaces spreadsheets with a real-time dashboard covering every operational layer — vehicles, drivers, trips, maintenance, fuel, and expenses.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🚚 TransitOps

Fleet · Dispatch · Maintenance · Analytics — all in one platform

TypeScript React TanStack Supabase Clerk Cloudflare


What it does

TransitOps is a role-based transport operations platform built for logistics teams. It replaces spreadsheets with a real-time dashboard covering every operational layer — vehicles, drivers, trips, maintenance, fuel, and expenses.


Tech Stack

Layer Technology
Framework TanStack Start (SSR) + React 19
Language TypeScript (strict)
Database Supabase PostgreSQL + Row Level Security
Auth Clerk (JWT → Supabase Third-Party Auth)
Styling Tailwind CSS v4 + shadcn/ui
Deployment Cloudflare Pages + Workers (Nitro)
State TanStack Query
Charts Recharts

Features

Module Capabilities
🚗 Fleet Vehicle registry, status tracking (available / on-trip / in-shop / retired), capacity
👤 Drivers License management, safety scores, expiry alerts
📦 Dispatch Trip lifecycle — draft → dispatch → complete → cancel with business rule validation
🔧 Maintenance Service logs, in-shop status, cost tracking
⛽ Fuel Per-trip fuel consumption, cost analysis
💰 Expenses Toll, misc costs linked to trips
📊 Analytics Fleet utilization, cost trends, KPI dashboard
⚙️ Settings Depot config, currency, distance unit

Architecture

Browser ──► Cloudflare Pages (SSR + Workers)
                │
                ├── Clerk          (authentication + JWT)
                │
                └── Supabase       (PostgreSQL + RLS)
                       │
                       └── auth.jwt()->>'sub'  (Clerk user ID in every policy)

RBAC Roles: fleet_manager · dispatcher · safety_officer · financial_analyst
New users get dispatcher automatically on first sign-in.


Quick Start

# 1. Clone and install
git clone https://github.com/MohitSutharOfficial/Odoo26-TransitOps.git
cd Odoo26-TransitOps
npm install

# 2. Set up environment
cp .env.example .env
# Fill in Supabase + Clerk keys (see .env.example for sources)

# 3. Run locally
npm run dev

Environment Variables

Variable Description
VITE_SUPABASE_URL Your Supabase project URL
VITE_SUPABASE_PUBLISHABLE_KEY Supabase anon/publishable key
SUPABASE_SERVICE_ROLE_KEY Server-only service role key
VITE_CLERK_PUBLISHABLE_KEY Clerk publishable key (pk_test_...)
CLERK_SECRET_KEY Server-only Clerk secret (sk_test_...)

See .env.example for the full list.


Deployment

Target Command Config
Cloudflare Pages npm run build wrangler.toml
Vercel NITRO_PRESET=vercel npm run build vercel.json

See DEPLOYMENT.md for step-by-step deploy instructions.


Built with TanStack Start · Supabase · Clerk · Cloudflare Workers

About

TransitOps is a role-based transport operations platform built for logistics teams. It replaces spreadsheets with a real-time dashboard covering every operational layer — vehicles, drivers, trips, maintenance, fuel, and expenses.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages