SkyBus is an engineering showcase modeling the architectural scale and interface complexity of modern Online Travel Agent (OTA) platforms for intercity transit across Indonesia.
Instead of treating booking as a single isolated view, SkyBus implements a multi-tenant portal pattern designed around nested App Router structures:
-
Triple-Tier Layout Segregation: Independent route hierarchies and layout boundaries for End Customers (
/booking), Bus Operators/Partners (/admin/partner), and Platform Operators (/admin/dashboard). -
Interactive Fleet Seat Matrix: Real-time visual seat selector parsing multi-class layouts (Executive
$2+2$ , Sleeper$1+1$ , Shuttle configs) with state reservation locking. - Deterministic Search & Multi-Param Filtering: High-performance route filtering engine handling origin/destination terminal hubs, departure time windows, operator tiers, and promotional discount application.
-
Client-Side E-Ticket Compilation: Generates structured printable/downloadable PDF tickets (
jspdf+html2canvas) dynamically upon checkout verification. -
Production Polish & Compliance: Complete, production-ready legal and informational scaffolding (
/terms,/privacy,/cookie-policy,/help).
- Framework: Next.js (App Router, Server & Client Components)
- Language: TypeScript
- Design System & Styling: Tailwind CSS v4, Lucide React
- Document Engine:
jspdf,html2canvas
src/app/
├── (public)/
│ ├── booking/ # Search filters, bus selection, seat matrix
│ ├── payment/ # Multi-method transaction simulation
│ └── eticket/ # Rendered client-side ticket artifact
├── mitra/ # Fleet partner landing & registration portal
├── admin/
│ ├── dashboard/ # Platform revenue & fleet metrics
│ ├── partner/fleets/ # Partner fleet schedule & seat allocation
│ └── users/ # Account verification registry
└── (policies)/ # Terms, Privacy, Cookie, and Guide routes
git clone https://github.com/doaesque/skybus.git
cd skybus
npm install
npm run dev