Skip to content
aziz.dev
~/work/bilal-travels

Case file 04 / 05

Bilal Travels

Bus ticketing, from route search to a booked seat.

Role
Full Stack & Mobile Engineer
Category
Mobile · Full stack
Status
In development
Links
Source

Bilal Travels is a full-stack mobile product for discovering routes, browsing schedules and booking seats on Executive, Business and Sleeper buses.

The interesting problem is inventory. Every trip — a specific bus, on a specific route, on a specific date — owns its own seat map and booking state, so Lahore → Islamabad on Bus A on the 12th is entirely independent of Bus B on the 13th.

Architecture

  1. 01
    Mobile appReact Native · Expo Router
  2. 02
    REST APINode.js · Express · validation
  3. 03
    ODMMongoose schemas & models
  4. 04
    DatabaseMongoDB · per-trip inventory

What I did

  1. 01Built the mobile app with Expo, Expo Router, NativeWind and React Native Reusables in TypeScript.
  2. 02Designed the REST API in Node.js & Express with Mongoose schemas for routes, trips, seats and bookings.
  3. 03Modelled date- and route-scoped seat inventory so availability is tracked per trip.
  4. 04Implemented booking status, ticket management, validation and admin functionality.

Key features

◆Route search
◆Origin / destination picker
◆Schedules by date
◆Bus class selection
◆Live seat map
◆Ticket booking

Stack

React NativeExpoExpo RouterNativeWindTypeScriptNode.jsExpressMongoDBMongoose