Degree

Bachelor of Science (Computer Science)

Department

Department of Computer Science

School

School of Mathematics and Computer Science (SMCS)

Advisor

Dr. Imran Rauf, Assistant Professor and Program Coordinator

Keywords

Mobile app, Web app, Route optimization, Real time, tracking Computer vision, Gps tracking

Abstract

Rawangi is a smart public transport companion application aimed at revolutionizing the commuting experience in Karachi by integrating real-time digital solutions into the city’s fragmented bus system. The application empowers users to plan their journeys more efficiently by offering live tracking of buses, accurate ETAs, and occupancy estimates. Rawangi supports three key stakeholders: passengers, drivers (captains), and administrators. Passengers can find optimal routes, track buses in real time, and assess how full a bus is before boarding. Admins manage routes and system updates through a dedicated web interface. The project leverages GPS data, routing algorithms (Dijkstra’s), and mobile/web technologies to provide an end-toend solution. By addressing problems such as unreliable schedules and overcrowded buses, Rawangi promotes public transport usage, reduces reliance on private vehicles, and contributes to more sustainable urban mobility.

Tools and Technologies Used

Programming Languages & Frameworks:

  • Dart (Flutter) – Mobile App

  • JavaScript (Node.js, React, NEXT.js) – Backend and Admin Panel

Backend & APIs:

  • Node.js with Express.js

  • RESTful APIs

  • WebSockets for real-time communication

Database & Storage:

  • Firebase (Realtime Database, Authentication)

  • Mapbox (route and map data)

Other Tools:

  • OpenStreetMap

  • Cloud hosting (e.g., AWS, Vercel)

Methodology

The development of the system followed a modular and iterative approach inspired by Agile principles, though not implemented in a formally structured manner. The overall system consisted of a Flutter-based mobile application for end-users, a Next.js-based admin panel, a routing engine built using pgRouting hosted on Supabase, and real-time bus data handled through Firestore Realtime Database.

Development began with the parallel implementation of the mobile application and the admin panel. The mobile app was designed to allow users to search for routes between two points in Karachi using a combination of walking and bus transport. The admin panel was developed to manage the bus network, including stops, routes, and metadata. Both components were initially developed independently to allow faster progress.

Once the core frontend components were functional, the backend infrastructure was established. OpenStreetMap data was processed and stored in Supabase, where pgRouting (specifically, the Dijkstra algorithm) was used to compute the shortest path between two points. Instead of maintaining a separate backend service, the system utilized Supabase’s ability to define and call remote procedure calls (RPCs), which served as the interface for route computation. Firestore was used separately to manage and stream real-time updates for buses in motion.

Integration was carried out once the frontend and backend components were stable. The mobile app and admin panel were connected to Supabase through RPCs to fetch route data, while the mobile app also listened to real-time location updates from Firestore.

This development methodology prioritized modularity, fast integration cycles, and practical use of cloud-based tools. Each system component was designed to be loosely coupled, enabling parallel development and simplified integration. The overall approach supported the creation of a fully functional, real-time, map-based routing application tailored to Karachi’s public transport context.

Document Type

Restricted Access

Submission Type

BSCS Final Year Project

Share

COinS