Ayok Urban Mobility
Real-Time Ride-Hailing Platform Powered by Go WebSockets & Next.js
Urban mobility platform covering real-time ride dispatch, driver partner onboarding, payments, accounting, community, and customer support.
- Role
- Full-Stack & Backend Engineer
- Year
- 2026
- Production Domain
- ayok-app.web.id
Context & Challenge
A ride-hailing platform required low-latency ride status updates, accurate partner accounting, and reliable Google and Firebase integrations.
Architecture & Solution
Built a Go Fiber v2 backend with WebSockets, Swagger docs, Firebase Admin, Maroto PDF receipts, and a Next.js + Radix UI frontend.
Key Implementation Details
- Modular Go backend domains: ride, payment, accounting, community, support, admin, and auth.
- Real-time dispatch over Fiber WebSockets paired with Firebase push notifications.
- Automated PDF receipt generation via Maroto v2 and S3/MinIO asset storage.
System Architecture Flow
Next.js + Radix UI + dnd-kit
Service showcase, driver partner portal, and operational admin interfaces.
- TypeScript
- Playwright
- Sonner
- Tailwind CSS
Nginx Reverse Proxy + WebSocket Upgrade
Proxies HTTP requests and persistent WebSocket upgrades to the Go service.
- Nginx
- TLS
- WS Upgrade
Go Fiber v2 + WebSocket + Firebase Admin
Manages ride lifecycle, payments, accounting ledgers, and support tickets.
- GORM
- JWT
- Google OAuth2
- Maroto PDF
PostgreSQL + Redis + MinIO S3
Stores ride histories, driver availability cache, and partner verification documents.
- PostgreSQL
- Redis
- AWS SDK S3
Technology Stack
- Next.js
- TypeScript
- Radix UI
- Go
- Fiber v2
- WebSocket
- Firebase
- PostgreSQL
- Redis
Next Case Study
06 / Vonis Rakyat Online