All work

Car Services

Platform for car service centers, built with an intern team

Car service centers record every job on the platform: which car, which services, photos and the technician who did it. Center admins manage their staff, prices and analytics, the platform admin onboards new centers, and any car’s service history can be found by its VIN. A Go API, a web dashboard and an Android app for technicians.

Role
Team lead and mentor
Team
4 interns
Parts
Go API · Web · Android
Reviewed
400+ reviews
Service center analytics: volume and revenue trends, service types, statuses and top brands
Service records table with VIN search, filters and statuses
Service record detail with vehicle, technician, notes and priced service items
Service catalog with base services and custom prices per center
Employees list with active and inactive technicians

The real web dashboard running with invented demo data: analytics, service records, a record, the service catalog and employees.

My role

  • I led a team of four interns (two backend, one web, one Android) from an empty repository to a deployable system.
  • I planned the work in four sprints: about 100 GitLab issues with user stories, acceptance criteria, priorities and milestones, assigned across the team.
  • Every task went through a branch, a merge request and my review: 400+ reviews across the three repositories.
  • I built the service catalog myself: the service types and car data feature, custom services and prices per center, and the super admin APIs. I also refactored the Android offline sync and prepared the backend for deployment with GitLab CI.

Approach

  • Three roles enforced on every API route: super admin (platform), service center admin (own center) and technician (own jobs).
  • Service records hold several services each, with photos, and move through draft, pending, approved and completed.
  • A shared catalog of service types and car brands and models, collected with scripts from public vehicle databases, which each center can extend with its own services and prices.
  • Analytics for each center (monthly trends, revenue, service and brand mix) served from materialized views refreshed on a schedule and cached in Redis.
  • The Android app is offline first: jobs are saved as drafts in Room and synced by WorkManager, and the camera scans barcodes and text with ML Kit.

Architecture

Clients
Web dashboard (Next.js)Android app for technicians
Identity
KeycloakRoles: super admin, center admin, technician
Go API
HandlersUse casesRepositoriesRate limitingValidation
Data
PostgreSQL + migrationsMaterialized viewsRedis cacheMinIO photos
Operations
Docker ComposenginxPrometheus + GrafanaJaeger tracingGitLab CI
One Go API and one identity provider serve the web dashboard and the Android app.

Result

  • A working backend, web dashboard and Android app; the API and dashboard support English, Russian and Turkmen.
  • The backend ships with GitLab CI that builds the image and deploys it to the server.
  • Four interns learned a real workflow: issues, branches, merge requests, code review and CI.

Stack

GoGinPostgreSQLRedisMinIOKeycloakNext.jsReactTanStack QueryNextAuthKotlinHiltKtorRoomWorkManagerML KitDockerPrometheusGrafanaGitLab CI

Want the short version?

Everything on one or two pages, with contacts.