13 / FULL-STACK / CASE STUDY
RouteNG
Exploring a more connected intercity travel experience in Nigeria.
MVP Inspect source on GitHub ↗Architecture
Web frontend → Express API → PostgreSQL → Optional Paystack
Problem & context
Intercity carpooling needs coordinated ride listings, passenger requests and seat availability.
Objectives
Build an MVP for Nigerian city search, ride management and driver/passenger booking workflows.
My role & project work
Project source includes a vanilla HTML/CSS/JavaScript frontend, Express API and PostgreSQL booking model.
Technical implementation
The API includes cookie-based JWT authentication, password hashing, city and ride search, vehicle management, seat-aware bookings, notifications and reviews. Paystack initialization and verification routes require server configuration.
Engineering decisions
The booking route uses PostgreSQL transactions and SELECT FOR UPDATE to coordinate seat reservations. Express rate limits, Helmet and Zod validation provide baseline request controls.
Challenges & solutions
Booking state transitions and payment reconciliation need additional hardening. The README explicitly lists payment webhooks, identity verification and operational monitoring as pre-launch work. No real payments were tested.
Testing & verification
Reviewed README.md, package.json, src/server.js and the repository tree. Frontend is vanilla JavaScript, not React. API routes are implemented in source; database, concurrency and end-to-end tests were not run here.
Current status
MVP, not a verified live transportation service. Payment integration is optional and its production configuration is unverified. No paid booking or passenger-volume claim is made.
Lessons & next steps
The design highlights the importance of transactional seat allocation and explicit booking states. Payment verification and reconciliation need separate validation before launch.