Hi everyone,
While going through the project milestones, I noticed that once the admin CRUD endpoints are merged we will also need an interface to interact with them. So I tried building a small lightweight admin UI as a proof-of-concept for transit operators to manage vehicles, users, and monitor the system.
To understand how this could integrate with the current Go server, I built a small local POC using Go templates, Bootstrap, and a bit of JavaScript. The goal was to keep the UI simple and server-rendered so it can be served directly by the Go server without adding heavy frontend dependencies.
The POC currently includes:
- Dashboard overview (system status and active vehicles)
- Map view using Leaflet + OpenStreetMap
- Vehicle management page
- User management page
- Trips monitoring page
Current routes in the POC:
/admin/login
/admin/dashboard
/admin/map
/admin/vehicles
/admin/users
/admin/trips
The UI is server-rendered using Go templates with minimal JS. For now I am using some dummy JSON data just to demonstrate the interface. Once the required following Prs are merged i will link those as well.
Rough structure of the UI:
web/
├── static/ (css + js)
└── templates/
├── layout/ (base, header, sidebar)
└── views/ (dashboard, map, users, vehicles, trips)
Before turning this into a full PR, I wanted to ask if this direction aligns with the intended architecture for the admin interface.
I’ve attached a few screenshots of the POC for context. Happy to iterate based on feedback if this looks useful.

Hi everyone,
While going through the project milestones, I noticed that once the admin CRUD endpoints are merged we will also need an interface to interact with them. So I tried building a small lightweight admin UI as a proof-of-concept for transit operators to manage vehicles, users, and monitor the system.
To understand how this could integrate with the current Go server, I built a small local POC using Go templates, Bootstrap, and a bit of JavaScript. The goal was to keep the UI simple and server-rendered so it can be served directly by the Go server without adding heavy frontend dependencies.
The POC currently includes:
Current routes in the POC:
/admin/login
/admin/dashboard
/admin/map
/admin/vehicles
/admin/users
/admin/trips
The UI is server-rendered using Go templates with minimal JS. For now I am using some dummy JSON data just to demonstrate the interface. Once the required following Prs are merged i will link those as well.
Rough structure of the UI:
web/
├── static/ (css + js)
└── templates/
├── layout/ (base, header, sidebar)
└── views/ (dashboard, map, users, vehicles, trips)
Before turning this into a full PR, I wanted to ask if this direction aligns with the intended architecture for the admin interface.
I’ve attached a few screenshots of the POC for context. Happy to iterate based on feedback if this looks useful.