Prerequisites
Before you begin, make sure you have the following installed:- Node.js v18 or later
- Yarn v1.22 (
npm install -g yarn) - Docker and Docker Compose (for the database and mail server)
Setup
Install dependencies
Install all workspace dependencies from the monorepo root. The
-W flag targets the workspace root.Configure environment variables
Copy the example environment file for the backend (and optionally the mobile and desktop apps).The backend
.env contains the following variables. The defaults work for local development without any changes.packages/backend/.env
Change
JWT_SECRET to a long, random string before deploying to any non-local environment. The default value change-me is intentionally insecure and must not be used in production.Start PostgreSQL and Mailpit
Use Docker Compose to start the PostgreSQL database (port 5432) and Mailpit mail catcher (SMTP on port 1025, web UI on port 8025).You can open the Mailpit web UI at http://localhost:8025 to view emails sent by the backend (inspection PDFs, notifications, etc.).
Sync the database
Run the database sync script to create all tables and load the demo seed data.This creates tables for Users, Fleets, Vehicles, Assignments, Inspections, MaintenanceTypes, and VehicleMaintenance, then seeds them with demo records.
Start the backend
Start the API server. It listens on port Verify it is running by checking the health endpoint:
3001 by default.Start the mobile app
Launch the Expo development server for the React Native mobile app used by technicians.Scan the QR code with the Expo Go app on your iOS or Android device, or press
i / a to open a simulator.Start the desktop app
Start the Electron desktop app used by fleet administrators. This runs a Vite renderer on port 5174 and opens the Electron window automatically.
Log in with demo credentials
Use either of the seeded demo accounts to explore the system.
Log in through the desktop app as admin to manage fleets and vehicles, or through the mobile app as tech to view your assigned vehicle and submit inspections.
| Role | Password | |
|---|---|---|
| Admin | [email protected] | changeme123 |
| Technician | [email protected] | changeme123 |
Next steps
Architecture
Understand how the backend, mobile, and desktop apps are structured and how they communicate.
Admin guide
Create fleets, register vehicles, and manage technician assignments.
Technician guide
Submit your first vehicle inspection from the mobile app.
API reference
Explore the full REST API, including authentication and all endpoints.