




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
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.
