BusBuddy: RTC Management System
A PROJECT REPORT
Submitted by
Karra Ram Teja (2021BECSE111)
Stuti Paras Jain (2021BECSE136)
Pratima Gurnani (2021BEAGR014)
in partial fulfilment for the award of the degree of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE ENGINEERING
NIMS University: JAIPUR 303121
APRIL 2025
NIMS UNIVERSITY: JAIPUR 303121
CERTIFICATE
Certified that this project report “BusBuddy: RTC Management System” is the
bonafide work of “Karra Ram Teja, Stuti Paras Jain and Pratima Gurnani” who
carried out the project work under my supervision.
SIGNATURE SIGNATURE
Dr. Vineet Mehan Dr. Aman Sharma
HEAD OF THE DEPARTMENT SUPERVISOR
Computer Science Engineering Computer Science Engineering
ACKNOWLEDGEMENT
I would like to express my profound gratitude to Professor, Dr. Vineet Mehan, HOD,
of CSE department, and Dr. Ashutosh Tripathi, DIRECTOR of NIET, NIMS
University for their contributions to the completion of my project titled BusBuddy:
RTC Management System.
I would like to express my special thanks to our project supervisor Dr. Aman Sharma
for his time and efforts he provided throughout the year. Your useful advice and
suggestions were really helpful to me during the project’s completion.
I would like to acknowledge that this project was completed entirely by me and not by
someone else.
ABSTRACT
Navigating public transport can be stressful—uncertain arrival times,
overcrowded buses, and safety concerns are daily struggles for commuters.
BusBuddy is a comprehensive solution designed to transform this experience by
bringing real-time transparency, convenience, and safety to urban travel. This full-
stack application combines a Flutter-based mobile app for passengers with a
Spring Boot backend and a driver dashboard to bridge the gap between commuters
and transport operators.
BusBuddy allows passengers to check seat availability (updated manually by
drivers) and send emergency alerts via a one-tap SOS button. Drivers update seat
data through a simple interface, while feedback on driver behavior improves user
experience. Built with Spring Boot (backend) and Flutter (frontend), the system
ensures reliable performance and a consistent user interface. Overall, BusBuddy
enhances safety, reduces wait times, and makes public transport more user-
friendly and efficient.
TABLE OF CONTENT
CHAPTER NO. TITLE PAGE NO.
ABSTRACT
LIST OF TABLES
LIST OF FIGURES
ABBREVIATIONS
CHAPTER 1 INTRODUCTION
1.1 OBJECTIVES
1.2 PROBLEM STATEMENT
1.3 NEED FOR THE PROJECT
CHAPTER 2 SYSTEM ANALYSIS
2.1 LITERATURE SURVEY
2.2 EXISTING SYSTEMS AND
ITS LIMITATIONS
2.2.1 Existing Systems
2.2.2 Limitations
2.3 HARDWARE AND
SOFTWARE REQUIREMENTS
2.3.1 Hardware Requirements
2.3.2 Software Requirements
CHAPTER 3 SYSTEM DESIGN
3.1 PROJECT DESCRIPTION
3.2 DATAFLOW DIAGRAM
3.3 ENTITY RELATIONSHIP
DIAGRAM
3.4 TABLES
CHAPTER 4 METHODOLOGY
4.1 METHODOLOGY OF THE
PROJECT
4.1.1 Requirement Analysis
4.1.2 System Design
4.1.3 Backend development
4.1.4 Frontend development
4.1.5 Module development
CHAPTER 5 RESULTS AND CONCLUSION
5.1 SAMPLE OUTPUT WITH
DESCRIPTION
5.2 SCOPE OF FUTURE USE
5.3 CONCLUSION
List of Tables
Table Number Contents Page Number
2.1 List of software
3.1 User Table
3.2 Bus Table
3.3 BusStop Table
3.4 Driver Table
List of Figures
Figure Number Contents Page Number
ABBREVIATIONS
Abbreviation Full Form
API Application Programming Interface
JWT JSON Web Token
REST Representational State Transfer
DB Database
UI User Interface
SQL Structured Query Language
POSTGRES PostgreSQL (Open-Source Relational Database)
HTTP Hypertext Transfer Protocol
JSON JavaScript Object Notation
CRUD Create, Read, Update, Delete
IDE Integrated Development Environment
POM Project Object Model (used in Maven)
1
CHAPTER 1
INTRODUCTION
1.1 OBJECTIVES
• Arrival & Destination Time Tracking:
Enable passengers to view estimated arrival times and destination times for
buses, helping them plan their journey more effectively and reducing
uncertainty during travel.
• Seat Availability Management:
Let drivers manually update seat occupancy status, helping passengers avoid
overcrowded buses.
• Emergency Alert System:
Provide passengers with a quick SOS feature to alert authorities and share
their location during emergencies.
• User-Friendly Interfaces:
Design intuitive apps and dashboards to ensure ease of use for both passengers
and drivers.
• Secondary Goals:
Include route optimization, support for night buses, nearby stop suggestions,
feedback mechanisms, and system scalability.
1.2 PROBLEM STATEMENT
Public transportation users often face challenges like:
• Uncertainty in bus arrival times.
• Overcrowded buses leading to discomfort.
• Lack of safety measures, especially during emergencies or night travel.
2
These issues discourage people from relying on public buses. There is a
need for a digital solution that improves transparency, safety, and
convenience in daily commuting.
1.3 NEED FOR THE PROJECT
With the steady growth of urban populations, public transport systems are
facing increasing demand and challenges. BusBuddy is designed to address
these challenges by offering a smarter, user-friendly platform for both
passengers and transport operators. The project aims to:
• Make Commuting More Predictable:
By providing passengers with estimated arrival and destination times,
the app helps users plan their journeys more effectively and reduces
unnecessary waiting.
• Enhance Safety and Trust:
With features like an SOS button and the ability to flag a bus for issues like
misbehaviour, cleanliness, or delays, the platform ensures that passengers
feel safer and more in control during their commute.
• Increase Accessibility of Information:
The About Us section offers clarity about the transport service, operating
routes, and customer support, helping passengers make informed decisions
and build trust in the system.
• Promote a Personalized Experience:
The Favourites feature allows users to save frequently used routes or stops,
reducing the need to search repeatedly and making the app more efficient
for daily users.
3
CHAPTER 2
SYSTEM ANALYSIS
2.1 LITERATURE SURVEY
Several studies and systems have explored improvements in public
transportation using technology. Prior systems mainly relied on GPS, complex
sensors, and hardware-dependent ticketing systems. The BusBuddy project
draws inspiration from these works while aiming to address their key
limitations with a simplified, user-centric approach.
• Real-Time Tracking Systems like those by Hasan and Hossen (2024) relied
heavily on GPS and Google Maps, which posed scalability and infrastructure
issues. BusBuddy replaces real-time GPS with scheduled arrival and
destination time updates to ensure usability without GPS dependency.
• Seat Availability Monitoring by Deepthi et al. (2022) used expensive IoT and
sensor-based systems. BusBuddy simplifies this with a manual update option
for drivers, reducing hardware costs and improving flexibility.
• Feedback Systems in earlier works used complex models like SERVQUAL.
BusBuddy simplifies this with a three-level rating system and optional text
input, making feedback accessible and easy for passengers.
2.2 EXISTING SYSTEM AND ITS LIMITATIONS
2.2.1 Existing Systems:
i. Many public and private transportation apps focus on real-time GPS-based
tracking and automated ticketing through QR/NFC or RFID.
ii. Some systems include payment integrations, which increase development
time and introduce financial security responsibilities.
4
iii. Most existing systems are either GPS-dependent or browser-based and often
lack mobile-first features that appeal to modern commuters.
2.2.2 Limitations:
• GPS Dependence: Needs infrastructure, hardware, and good network
availability. Not suitable for areas with low connectivity.
• High Development & Maintenance Cost: Use of sensors, Google APIs, payment
gateways increases both setup and recurring costs.
• Limited Custom Features: Most do not allow features like route favourites,
flagging issues, or in-app feedback in a lightweight manner.
2.3 HARDWARE & SOFTWARE REQUIREMENTS
2.3.1 Hardware requirements
• Laptop for Development & Hosting
• Acts as the server for backend operations (Spring Boot + PostgreSQL).
• Hosts the admin dashboard and database locally.
• Smartphones (for Passengers and Drivers)
• For running and testing the mobile application (built in Flutter).
• Secondary Laptop or PC for Testing
• Can be used to test the app from a user or admin perspective separately
during demos or team collaboration.
5
2.3.2 Software requirements
The BusBuddy system is developed using modern, efficient, and scalable
technologies to ensure a smooth and responsive user experience. The software
requirements are as followed:
Table 2.1 List of software
Component Technology Used
Frontend Flutter (for Android/iOS cross-platform apps)
Backend Java with Spring Boot
Database PostgreSQL
Real-Time Updates WebSocket for pushing seat/ETA updates
Offline Storage Hive or Shared Preferences (Flutter)
IDE Tools VS Code / Android Studio / IntelliJ IDEA
Other Tools Postman for API testing
6
CHAPTER 3
SYSTEM DESIGN
3.1 PROJECT DESCRIPTION
BusBuddy is a mobile-based RTC (Road Transport Corporation) management
system designed to improve public transportation experiences. It caters to
passengers and drivers by offering features that make daily commutes more
predictable, safer, and efficient.
The app allows passengers to check bus schedules, view estimated arrival and
destination times, and save favorite routes for quick access. It includes an
emergency SOS feature for passenger safety and a feedback system for service
quality improvement.
Drivers can log in to mark seat availability manually, allowing passengers to
avoid overcrowded buses. Admins manage the system through a separate
dashboard for monitoring bus status, user feedback, and flagged issues.
BusBuddy is designed to run on Android and can be developed using Flutter
for the front end and Spring Boot (Java) for the back end. All data, including
users, buses, and feedback, is stored in a PostgreSQL database hosted on the
developer’s local machine.
3.2 DATAFLOW DIAGRAM
The Data Flow Diagram illustrates the flow of data between various users and
components in the BusBuddy system. Passengers interact with the system to
view bus schedules, estimated arrival and destination times, submit feedback,
or flag issues. Drivers can log in to update seat availability. Admins access
the system to review feedback, manage flags, and oversee the operational data.
7
Figure 3.1 Data Flow Diagram
3.3 ENTITY RELATIONSHIP DIAGRAM
The ER diagram represents the data model for the BusBuddy system. It
highlights the relationships between different entities such as User, Driver,
Bus, and associated data like Feedback, and Route.
• User: Contains fields like user ID, name, and password. A user can book
tickets and submit feedback.
• Driver: Represents the drivers who operate buses. Each driver is associated
with a Bus.
• Bus: Central to the system, it is linked with both User and Driver. A bus
can trigger an SOS alert and operates on a specific route.
• Ticket: Connected to users and used to represent a booking.
• Feedback: Submitted by users, typically after a bus ride.
• Route: Each bus operates on a route.
• SOS Alert: Triggered by a bus in case of emergencies.
8
Figure 3.2 E-R Diagram
3.4 TABLES
Table 3.1 User Table
Field Name Data Type Description
id SERIAL (PK) Unique user ID
user_name VARCHAR Full name
email VARCHAR Unique email for login
password VARCHAR Encrypted password
phone_number VARCHAR User phone no.
9
Table 3.2 Bus Table
Field Name Data Type Description
id SERIAL (PK) Unique bus ID
bus_number VARCHAR Bus registration number
start_point VARCHAR Source stop
destination_point VARCHAR Destination stop
departure_time VARCHAR Time of departure
type VARCHAR Type of bus
duration VARCHAR Duration of journey
stops INTEGER No. of intermediate stops
10
Table 3.3 BusStop Table
Field Name Data Type Description
id SERIAL (PK) Unique bus ID
bus_stop_name VARCHAR Name of the bus stop
bus_number VARCHAR Bus registration number
Stop has been completed
completed BOOLEAN
or not
seat_availability Seat availability
INTEGER
percentage
Table 3.4 Driver Table
Field Name Data Type Description
id SERIAL (PK) Unique bus ID
driver_name VARCHAR Name of the driver
bus_number VARCHAR Bus registration number
phone_number VARCHAR Driver’s phone number
start_point VARCHAR Source stop
destination_point VARCHAR Destination stop
11
CHAPTER 4
METHODOLOGY
4.1 METHODOLOGY OF THE PROJECT
4.1.1 Requirement Analysis
Identified key features based on user needs—such as viewing bus
schedules, estimated arrival and destination times, seat availability,
feedback system, and emergency SOS alerts.
Defined roles and permissions for passengers, drivers, and admins.
4.1.2 System Design
• Designed Data Flow Diagrams (DFD) and Entity Relationship Diagrams
(ERD) to model the system’s data flow and database structure.
• Decided on a modular approach separating frontend (Flutter), backend
(Spring Boot), and database (PostgreSQL).
4.1.3 Backend Development
Developed RESTful APIs using Spring Boot (Java) to handle:
• User authentication and session management
• Bus and route data access
• Manual seat availability updates
12
• Feedback and SOS alert submissions
• Ensured secure API design and proper error handling.
• Used PostgreSQL to manage structured data with efficient queries and
relational integrity.
4.1.4 Frontend Development
• Built the mobile user interface using Flutter, ensuring cross-platform
compatibility.
• Integrated backend APIs for real-time interaction with user data and system
functions.
• Designed intuitive navigation for passengers and drivers to perform key
actions easily.
4.1.5 Module Development
• Passenger Module: View schedules, save favourites, submit feedback, and
raise SOS alerts.
• Driver Module: Update seat availability and monitor assigned buses.
• Admin Module: Monitor flagged buses, manage feedback, and maintain the
database records.
13
CHAPTER 5
RESULTS & CONCLUSION
5.1 SAMPLE OUTPUT WITH DESCRIPTION
5.2 SCOPE OF FUTURE USE
• Real-Time Location Tracking: Integrate GPS-based live bus tracking
using mobile device sensors to provide actual bus movement data to
passengers.
• Smart Seat Management: Automate seat availability updates using IoT
sensors to detect occupied seats in real time, reducing manual input from
drivers.
• Online Ticket Booking System: Add a booking module that allows users
to reserve and pay for seats in advance using secure payment gateways.
• Route Optimization: Use AI/ML algorithms to suggest the fastest or least
crowded routes based on traffic conditions and past data.
• Notifications & Alerts: Implement push notifications to inform users about
bus delays, cancellations, or changes in routes.
• Multi-Language Support: Add regional language options to make the app
more accessible to a broader user base.
14
• Analytics Dashboard for Admin: Create visual reports for feedback
trends, route popularity, and system performance to support better decision-
making.
5.3 CONCLUSION
The BusBuddy project aims to enhance the public transport experience by
providing a simple, user-friendly platform that connects passengers,
drivers, and administrators. By focusing on core functionalities like
viewing bus schedules, estimated arrival and destination times, seat
availability, feedback, and emergency alerts, the system addresses key
challenges in daily commuting—such as unpredictability and lack of
communication.
Unlike GPS-dependent or hardware-heavy systems, BusBuddy offers a
cost-effective and scalable solution suitable for small-to-mid scale
implementations like college buses or city routes. The manual yet efficient
features give flexibility to drivers while keeping the interface intuitive for
passengers.
Through modular design, local development using Java (Spring Boot),
Flutter, and PostgreSQL, and thorough testing, BusBuddy serves as a
practical and extendable framework that can be further enhanced with
features like real-time tracking and online ticket booking in the future.
15
APPENDICES
16
REFERENCES
[1] Amrani, A., et al. (2021). Performance Comparison of Cross-Platform
Frameworks in Mobile Apps. IEEE Access.
[2] Bin Alam, M. J., Zahra, F., & Khan, M. M. (2021). Automatic Bus
Ticketing System Bangladesh. In: 2021 12th International Conference on
Computing Communication and Networking Technologies (ICCCNT).
[3] Blanco, J. Z., & Lucrédio, D. (2021). A Holistic Approach for Cross-
Platform Software Development. Journal of Systems and Software,
Volume 179.
[4] Deepthi, V. S., Chavan, V. N., Shanbhag, S., & Dandappala, S. S.
(2022). Crowd Density Estimation and Location Prediction in Public
Transport System. International Journal of Engineering Research &
Technology (IJERT).
17
[5] Girsa, R., Srivastava, K., Jain, A., & Biyani, P. (2021). Demo Abstract:
Contactless E-Ticketing in Public Transport Buses. In: 2021 International
Conference on Communication Systems and Networks (COMSNETS),
Bangalore, India.
[6] Hasan, M. N., & Hossen, M. S. (2019). Development of an Android-
Based Real-Time Bus Tracking System. Department of Information and
Communication Technology, Comilla University, Bangladesh.
[7] Hickman, M., et al. (2020). Data-Driven Public Transport
Improvements. Transportation Research Board.
[8] Kaur, J., & Kumar, A. (2019). WebSocket vs. REST APIs for Live
Tracking Systems. IEEE Transactions on Mobile Computing.
[9] Kumbhar, M. S., Mastud, P., & Salunke, A. (2016). Real-Time Web-
Based Bus Tracking System. International Research Journal of
Engineering and Technology (IRJET), Volume 3, Issue 2.
18