Fleet Management
Operations & IoT · React + Node (Express) · 22 @molecule/* packages
Samsara-like fleet management with vehicles, routes, maintenance scheduling, and driver management — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (18)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Vehicles
/vehicles(signed in) - VehicleDetail
/vehicles/:id(signed in) - Drivers
/drivers(signed in) - Maintenance
/maintenance(signed in) - Alerts
/alerts(signed in) - Reports
/reports(signed in) - Settings
/settings(signed in) - DriverDetail
/drivers/:id(signed in) - Routes
/routes(signed in) - Trips
/trips(signed in) - Geofences
/geofences(signed in) - MaintenanceDetail
/maintenance/:id(signed in)
Data model (15 tables)
- alerts — id, owner_id, kind, severity, vehicle_id, driver_id, message, occurred_at, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- driver_hours — id, driver_id, hours, date, notes, created_at, updatedAt
- drivers — id, owner_id, user_id, name, email, phone, license_number, license_expiry, …
- fleet_routes — id, owner_id, name, vehicle_id, driver_id, scheduled_date, status, total_distance, …
- geofences — id, owner_id, name, kind, polygon_json, alert_on_enter, alert_on_exit, min_lat, …
- maintenance_records — id, owner_id, vehicle_id, type, kind, description, scheduled_date, scheduled_at, …
- notifications — id, user_id, kind, title, body, link, payload, read_at, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- route_stops — id, route_id, sequence, address, latitude, longitude, estimated_arrival, actual_arrival, …
- trip_events — id, trip_id, kind, occurred_at, latitude, longitude, payload, created_at, …
- trips — id, owner_id, vehicle_id, driver_id, route_id, started_at, ended_at, distance_km, …
- vehicle_locations — id, vehicle_id, latitude, longitude, speed, heading, timestamp, created_at, …
- vehicles — id, owner_id, name, vin, license_plate, make, model, year, …
- fleet_settings — id, owner_id, settings, created_at, updated_at
API (12 handlers)
- \_seed
api/src/handlers/_seed.ts - \_shape
api/src/handlers/_shape.ts - alerts
api/src/handlers/alerts.ts - drivers
api/src/handlers/drivers.ts - geofences
api/src/handlers/geofences.ts - maintenance
api/src/handlers/maintenance.ts - notifications
api/src/handlers/notifications.ts - reports
api/src/handlers/reports.ts - routes
api/src/handlers/routes.ts - settings
api/src/handlers/settings.ts - trips
api/src/handlers/trips.ts - vehicles
api/src/handlers/vehicles.ts
Subscription tiers
free / pro / team — gated by: maxDrivers, maxMaintenance, maxRoutes, maxVehicles, advancedFeatures, canExport, retentionDays
Built from 22 @molecule/* packages
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-geolocation-nominatim@molecule/api-payments-stripe@molecule/api-push-notifications-web-push@molecule/api-realtime-socketio@molecule/api-reporting-database@molecule/api-resource-payment@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/app-billing-react@molecule/app-calendar@molecule/app-charts@molecule/app-command-palette@molecule/app-data-table@molecule/app-maps@molecule/app-notification-feed-react@molecule/app-realtime-socketio@molecule/app-sidebar-layout-react
Required secrets
DATABASE_URLPostgreSQL connection stringMEILISEARCH_API_KEYMeiliSearch API keyMAILGUN_API_KEYMailgun API key for maintenance alertsMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing