Skip to content

syncc Engineering Wiki

Welcome to the internal engineering wiki for the syncc platform — a multi-city public transit system operating in Bolivia.


What's here

Section Contents
Dev Setup Local stack, environment files, npm scripts, Docker deploy
Conventions Coding rules, GIS architecture, Angular patterns, E2E testing
AI Instructions CLAUDE.md — how Claude navigates this repo
Wiki / Knowledge Base GitHub Wiki contents (algorithms, architecture diagrams, data sources)
Apps Per-app routes, services, schema, auth flows
Planning Architecture proposals and ADRs

Apps at a glance

App Stack URL
API Server NestJS + Prisma + PostgreSQL/PostGIS api.{city}.syncc.me
Web Admin Angular 20 + Tailwind + Leaflet admin.syncc.me
Mobile Driver Ionic 8 / Angular 20 + Capacitor app.syncc.me
Passengers App Ionic 8 / Angular 20 + Capacitor passengers.app.syncc.me
Analytics Angular 20 — cross-silo dashboard analytics.syncc.me
QA Portal Angular 20 — test case management qa.syncc.me

Key architecture facts

  • Multi-silo: each city (Cochabamba, La Paz) runs a fully isolated backend with its own DB and JWT secret.
  • GIS: route geometry lives on Line.polyline (Google Encoded Polyline). Operational stops are Checkpoint records with PostGIS geography(Point,4326) columns.
  • Auth: drivers use OTP (no password). Web users use email + password + JWT. QA users are created inside the QA portal only.
  • Deploy: ./deploy.sh <city> <env> wraps docker compose with the correct env file and project name.

This wiki auto-updates every night at midnight via a server-side cron job (git pull). MkDocs serve detects the file changes and reloads automatically.