Skip to main content
Back to all case studies
05ayok-app.web.id

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

L1: Web & Partner UI

Next.js + Radix UI + dnd-kit

Service showcase, driver partner portal, and operational admin interfaces.

  • TypeScript
  • Playwright
  • Sonner
  • Tailwind CSS
L2: Edge / Proxy

Nginx Reverse Proxy + WebSocket Upgrade

Proxies HTTP requests and persistent WebSocket upgrades to the Go service.

  • Nginx
  • TLS
  • WS Upgrade
L3: Dispatch Core

Go Fiber v2 + WebSocket + Firebase Admin

Manages ride lifecycle, payments, accounting ledgers, and support tickets.

  • GORM
  • JWT
  • Google OAuth2
  • Maroto PDF
L4: Data Layer

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

Read Full Case Study