From ff0ee239e40d5a8341c2e8ac7605cfadb8e835f9 Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 11 Sep 2023 21:16:01 +0530 Subject: [PATCH] Update README.md --- README.md | 704 +----------------------------------------------------- 1 file changed, 12 insertions(+), 692 deletions(-) diff --git a/README.md b/README.md index 46faa65..0b4fdcd 100644 --- a/README.md +++ b/README.md @@ -1,703 +1,23 @@ -A Project Report On "TicketBus" +# Public Transport Management System (Android App) -Submitted in Final Fulfillment for Degree of +Transform your daily commute with our user-friendly digital Public Transportation System developed for Android (Java) with Firebase. This application streamlines travel processes, offering a range of features to make your public transport experience smoother and more convenient. -DIPLOMA IN COMPUTER ENGINEERING +## Features -Submitted By -Dhruv Gohil (206470307026) -Himanshi Borad (206470307028) -Preet Gabani (206470307030) -Neel Dedkawala (206470307049) -Prince Ganeshwala (206470307055) -Aryan Randeriya (20647030768) +- **Online Ticket Booking**: Easily book tickets on the go, eliminating the need for physical tickets. -Guided By -Mr. Haridas Hirpara (Internal Guide) -Mr. Sumit Devda (External Guide) +- **Bus Passes with QR Code**: Enjoy hassle-free bus pass applications with QR codes for quick validation. +- **E-Wallet Integration**: Seamlessly manage your finances with an integrated e-wallet system. -2022 - 2023 +- **Real-Time Information**: Stay updated with real-time information on bus arrivals, route changes, and travel times. -Department of Computer Engineering -TAPI DIPLOMA ENGINEERING COLLEGE, SURAT +- **Comprehensive Map Module**: Powered by Mapbox API, our app provides detailed maps with bus routes, stops, and directions for effortless navigation. -`C E R T I F I C A T E` +## Acknowledgments -This is to certify that Mr. Dhruv Gohil, Ms. Himanshi Borad, Mr. Preet Gabani, Mr. Neel Dedkawala, Mr. Prince Ganeshwala, Mr. Aryan Randeriya having Enrolment No.: 206470307026, 206470307028, -206470307030, 206470307049, 206470307055, 206470307068 has -completed Part-I IDP Project work having title Public Transport Management System under the guidance of the Faculty Guide Mr. Haridas Hirpara. +A major thanks to Neel Dedkawala, Himanshi Borad, Dhruv Gohil, Prince Ganeshwala, Preet Gabani for assisting in this project. -He/She has undergone the process of shodh yatra, literature survey and problem definition. He/She is supposed to carry out the residue IDP Part II work on same problem during Semester-VI for the final fulfilment of the IDP work which is prerequisite to complete Diploma Engineering. +--- -The mentor from the industry for the project: -Name: Sumit Devda Industry: Govardhan Infotech - -`Acknowledgement` - -The success of any task relies on the efforts made by person but it cannot be achieved without cooperation of other persons which are being helpful. So, we would like to thank Tapi Diploma Engineering College and Govardhan Infotech for giving us the opportunity of doing this project. -The entire session of our phase I completion was a great experience providing us with the insight & invocation into learning various software engineering concepts & benefits of team work. We would like to take this opportunity to express our sincere thanks to all those people without whose support and co-operation, it would have been difficult to complete this project. -Primarily, we are very much thankful to our internal project guide Mr. Haridas Hirpara and external project guide Mr. Sumit Devda for their leading guidance and sincere efforts throughout project work. They took deep interest in simplifying the difficulties. Also, they have been consistent source of inspiration for us. -We also express thanks to Mr. Mitul V. Patel, our registration faculty for his personal involvement, constructive suggestion and thoughtful idea for betterment of the project. -We are grateful to our H.O.D. Mrs. Binita Acharya and our beloved Principal Dr. -Y. S. Choupare for providing us deep knowledge and all necessary resources. We are also thankful to our Friends and all staff members of Computer Engineering Department for their valuable time and help for completion project. - Once again, we are grateful to all those without whom this work would not have been successful. - - - -Team Members Dhruv Gohil Himanshi Borad Preet Gabani Neel Dedkawala -Prince Ganeshwala Aryan Randeriya - -`Abstract` - -The Public Transport Management System is intended to make the process of travelling as easy and simplistic as possible. This system aims to make the present system paperless and more digitised. It facilitates ticket booking and bus pass applications online to eliminate time wastage. Existing Public Transport systems fail to provide sufficient information to users that are unfamiliar with the system. The System will overcome such issues by providing detailed information on how to travel in the bus and the time taken from one place to another. Users will be notified of the bus's arrival before the estimated arrival time and whenever a bus route is unavailable due to construction or blocked roads. System will provide a map that contains detailed information on bus routes, stops, and directions. Buses will be tracked from start to end to enable the user to view the route progress. - - -`Chapter 2: Introduction of Project` - -`2.1 Introduction of Problem -2.1.1 Problem Statement` - -Existing Bus Transportation Systems are very inconvenient to both travellers and management due to the lack of an integral organizational system. Bus Passengers are unable to receive necessary information regarding their trip and struggle to reach their destination on time. Additionally, passengers find it very strenuous to book tickets as the process can be very time- consuming and informationally inadequate. In current transportation systems, numerous loopholes may exist that enable users to travel for free or at a very low cost due to a lack of a ticket verification system leading to a loss of money. Commuters are unaware of their bus route from source to destination stop leading to an ample of confusion and waste of time in searching for vital information. The travellers are unable to track the real-time location and they're unaware of how far their destination is. Furthermore, travellers are unaware of the estimated arrival time of the bus which may lead to the user missing their bus. In traditional systems, the process of applying for and delivery of a bus pass is very arduous as the whole process is physical and immensely time-consuming and the estimated time to apply for and receive a Bus Pass is 3-5 months depending on the circumstances. - - - -`2.1.2 Scope of Proposed System` - - -In the scope of this project, we propose a system that will be used to manage Public Transport efficiently and is aimed at providing a solution for a haphazard existing transportation system. Our system will often be utilised by the general public to make their daily travels as effortless as possible. The proposed system is intended for the regular commuters and to reduce confusion among passengers. Students and Employees will find the process of booking tickets and travelling from their house to their intended destination very easy. - - -`2.2 Environment Description -2.2.1 Hardware & Software Requirements` - -Hardware Requirements: For Application: -o 1 GB RAM. -o 250 MB Free Space - -For Development: -o Intel Core i3 or Higher -o 2 GB RAM. -o 10 GB Free Space -Software Requirements: For Application: -o Android Lollipop (5.0) and above - -For Development: -o Any Operating System that Can Run Android Studio -o Android Studio -o FireBase - - -`2.2.1 Technology Used` - -The world is upgrading at a very rapid speed. To match that need we have used the following technologies to develop our system. - -What is Android? - -• Android is a mobile operating system developed by Google, based on a modified version of the, Linux kernel and other open-source software. -• Android's default user interface is mainly based on direct manipulation. -• Android is an open-source project and is distributed free of cost. -• This application makes user's life more comfortable and advanced. -• The operating system has a number of native applications supporting telephony, messaging, emailing, contact management, calendar, location services, mapping, social interaction, etc. -• Hardwires that support android are mainly based on ARM architecture platform. - - -Why Android? - -• Android is an open-source project and is distributed free of cost. It is used and preferred by a larger audience. -• Android's User Interface (UI) is flexible and customizable. It is easy to operate and -comes with simple user interface. -• The operating system has a number of native applications supporting telephony, messaging, emailing, contact management, calendar, entertainment, multimedia experience, location services, mapping, social interaction etc. -• Third party java developers can use the Android API to extend the functionality of the devices. -• You can easily get your own app in the android market and you don't need to pay big -development fees. - - -Android Studio: - -* Android studio is the official integrated development environment (IDE) for Google's Android operating System, built on JetBrains's IntelliJ Idea softwareand designed specifically for Android Development. It is available fordownload on windows, MacOS and Linux based operating systems. It is a replacement for the Eclipse android development tools (ADT) as primary IDE for native Android application development. -* In programming, Android studio is an Integrated Development Environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. -* Written mostly in JAVA, Android Studio can be used to develop applications. By means of various plug-ins, Android Studio may also be used to develop an application in other programming language: C++, JavaScript, Kotlin. - - -Java: - -* Android is very popular OS for mobile phones today. Millions of apps are there that power different types, models and manufactures mobile phones today. Java the popular programming language is used to develop Androidapplications. The question is quite generic why java is used for android development, here in this article you will get the answer. -* The main objective behind Android development was to create a platform- independent application environment that can run on every device. As we know java already have this quality so java was chosen for android development. Android applications run on a special virtual machine called the Dalvik VM that is a direct inspiration from java virtual machine called JVM. Android application can run on any device where special Dalvik VM is implemented. These way android applications are compiled and run-in optimum performance environment with the feature of platform independence. -* The good approach towards software development is the object-oriented approach. Java is based on the oops concept. Android relies heavily on Java fundamentals like classes and objects and its other useful features of oops. -* Java has an extensive set of libraries. It is easy to take advantage of these libraries. Android SDK has many standard Java libraries included. These provide functionalities for data structure, math functions, graphics implantation, and networking functions and much more. These java libraries help us to do everything else we could want. This way java helps develop Android applications fast and inefficient manner. - - -* Android is made to run on different platforms i.e., hardware platforms. Thus, architectural neutrality is desired and necessary. Android code is written once and to execute need to compile and optimize native code for betterperformance on various devices. Java has platform independent feature so it is used for android development. - - -Firebase: - -* Firebase is a platform developed by Google for creating mobile and web applications. -* It was originally an independent company founded in 2011. -* In 2014, Google acquired the platform and it is now their flagship offering for app development. -* Firebase frees developers to focus crafting fantastic user experiences. You don't need to manage servers. You don't need to write APIs. Firebase is your server, your API and your datastore, all written so generically that you can modify it to suit most needs. - -Firebase offers a number of services, including: - -* Analytics - Google Analytics for Firebase offers free, unlimited reporting on as many as 500 separates events. Analytics presents data about user behaviour in iOS and Android apps, enabling better decision-making about improving performance and app marketing. -* Authentication - Firebase Authentication makes it easy for developers to build secure authentication systems and enhances the sign-in and onboarding experience for users. This feature offers a complete identity - - -solution, supporting email and password accounts, phone auth, as well as Google, Facebook, GitHub, Twitter login and more. -* Cloud messaging - Firebase Cloud Messaging (FCM) is a cross-platform messaging tool that lets companies reliably receive and deliver messages on iOS, Android and the web at no cost. -* Realtime database - the Firebase Realtime Database is a cloud-hosted NoSQL database that enables data to be stored and synced between users in real time. The data is synced across all clients in real time and is still available when an app goes offline. -* Crashlytics - Firebase Crashlytics is a real-time crash reporter that helps developers track, prioritize and fix stability issues that reduce the quality of their apps. With crashlytics, developers spend less time organizing and troubleshooting crashes and more time building features for their apps. -* Performance - Firebase Performance Monitoring service gives developers insight into the performance characteristics of their iOS and Android apps to help them determine where and when the performance of their apps can be improved. - -`Chapter 3: -The whole Industrial process and problem study` - - -`3.1 System Planning -3.1.1 Requirement analysis & Data Gathering` - - -`Requirement Analysis:` - - -- Requirement analysis, also called requirements engineering, is the process of determining user expectations for a new or modified product. These features, called requirements, must be quantifiable, relevant and detailed. - -Questions: - -1. Who will use this Application? -2. Does this Application require an Internet Connection? -3. Does this Application support Online Payment? -4. How will the user track the Bus in real-time? -5. Is the Application User-Friendly? -6. When will the user use this Application? -7. Why will users prefer this Application over others? -8. How can the user travel from one destination to another using this Application? -9. What is the role of the Bus Driver in this System? -10. How will the Bus Driver/Staff interact with the user? - - -Answers: - -1. Passengers, such as Students, Professionals and regular commuters will use this app. -2. Yes, this application requires a working Internet connection to properly utilize all features. -3. The Application supports online payment so that the process of ticket booking is completely virtual. -4. Users will be able to view the real time location of their Bus. The Bus will be tracked through the GPS functionality on a mobile device installed on the Bus's dashboard. -5. Yes, this application is very user friendly. -6. Passengers will use this application whenever they plan on using the Bus to travel and if they require information regarding public transportation. -7. Users will prefer this application over others as the number of features available to the user significantly increases compared to other applications available. Additionally, the User Interface of the application will be convenient to the user. -8. In order for the passenger to travel from one destination to another, they must input the source and destination bus station. They will be able to view detailed information regarding their desired route. -9. The bus driver will be responsible for driving the bus and alerting the user regarding route updates and the buses arrival/departure on a timely basis or when the bus is late due to unexpected construction or breakdown. -10. Bus driver will use a dashboard style interface (e.g., Apple Carplay) on the device existing in the Bus to interact and send useful information to the user. - - -`Data Gathering` - -- The process of gathering and analyzing accurate data from various sources to find answers to research problems, trends and probabilities, etc., to evaluate possible outcomes is known as Data Gathering. -- In this, we have gathered the data from various agencies running public transport systems, passengers who use public transport on their daily basis, government employees working in public transport sectors and students who uses public transport on their way to educational institutions, we approached them and asked what the current transport system lacks and what facilities they'd like that can potentially make them use public transportation more often, after gathering all this data, we have planned this type of workflow. -- We have gathered data that will be required to fulfil the requirements of the proposed system. - - -- Our System has 3 users: - -1. Passenger -2. Driver -3. Admin - -- Passenger Workflow - -* Firstly, the passenger needs to register to the Application using their phone number and email address and authenticate using a generated OTP (One Time Password). -* The user can now start up the application and operate it. They will be able to go through all the different functions and features that may be useful to them. -* Passenger will be able to plan their entire trip or check nearby stops with the distance relative to said stop, the next bus to arrive at that stop and its respective time. -* The passenger would be able to enter source and destination stops and can generate a travel route. -* Passengers can book tickets and also go through past transactions, notifications and are also able to update their profile - - -- Driver Workflow -* Driver can go through the systems dashboard and can use many functionalities. -* The driver first has to login to the system and can view the driving route. -* He can also update the bus's status if any problem occurs with that -particular bus. -* The driver can also select a cause of the problem from the specified list and the system would notify the passengers accordingly about their bus status. -* The driver can also request for a backup bus in case of occurrence of any problems/issues. - - -- Administrator Workflow -* The admin can manage the entire system. -* Firstly, the admin has to login to the system and then he can broadcast notifications to all passengers, manage buses, routes, and drivers. -* The admin would update the status of the bus, stops or routes and notify the passengers accordingly regarding guidelines from the system or from the municipal corporation. -* Admin would also notify the passenger/user about the status of their bus pass application. - - -3.1.2 Expected Modules -A module is a software component or part of a program that contains one or more routines. One or more independently developed modules make up a program. -Following are the modules that are expected to be in this Application: - -1. Registration -? This is where all the new users will register a new account into the system and existing users will log into their system. -? The user will need to input the following information in order to register: -o Name -o E-mail -o Phone Number -o Password - -2. Bus Pass Registration -? The user will enter their important details in order to apply for a Bus Pass. -? Information to be submitted/uploaded by the user includes: -o Full Name -o Aadhaar Card number -o Home Address -o Mobile Number -o E-Mail Address -o Passport Size Photo - -? After submitting the form, the user will receive a real-time status on the Bus Pass. -? After it is approved, the user will receive their Bus Pass. - -3. City Map -? Real city map which will include all the bus stops, important information and locations for the user to navigate with ease. - - -4. Ticket Booking -? Users will book tickets to travel the bus. -? Tickets will contain important information regarding the ticket such as: -o Ticket Id -o Destination Bus Stop -o Source Bus Stop -o Date -o Time -o Validity -o Fare Price -o QR Code - -5. Payment -? Payment portal for the user to pay for their ticket over the internet with ease and without requiring any physical interaction. - -6. Route -? The user will enter source and destination to view stops from start to end. -? User will be able to view detailed information regarding their entire route. -? Estimated time taken and cost for one trip will be calculated based on the distance and displayed to the user. - -7. My Routes -? User will be able to view frequently travelled and favourite routes to take. This is particularly useful for passengers such as Students or Professionals who will need to travel to School or Work on a routinely basis. - -8. Alerts System -? Users will be able to view the following information: -o 15 minutes before the bus's estimated time of arrival. -o When the bus arrives at the bus stop. - - -o When the road is undergoing construction or is unavailable. -o When the bus breaks down or is late. - - -`3.1.3 Feasibility Study` -A feasibility study is an assessment of the practicality of a project or system. Feasibility study aims to objectively and rationally uncover the strengths and weaknesses of an existing business or proposed venture, opportunities and threats present in the natural environment, the resources required to carry through, and ultimately the prospects for success. - - -1. Technical Feasibility -? Technical Feasibility is the process of proving that the concept is technically possible. The objective of the technical feasibility step is to confirm that the product will perform and to verify that there are no production barriers. -? To develop this system a working Internet connection and Android Studio is required, alongside adequate knowledge regarding development with the Android platform, Java, Android Studio and Firebase is required. -? The User will not require any technical knowledge to use this application, so this system is technically feasible. - -2. Operational Feasibility -? Operational Feasibility determines whether human resources are available to operate the system once it has been installed and implemented. -? Once the Bus Management System has been completed, the government and various private establishments may utilize this system. -? Privatized and Public organizations alike may use this system for the users to facilitate the process of travelling from one place to another. - -3. Economic Feasibility -? Economic Feasibility is the assessment that involves a cost/benefit analysis of the entire project. It enables the developers to determine cost, viability, profitability of a project before financial resources are allocated. -? This system is economically feasible as low-cost resources such as an Internet connection and Android studio, an open-source freeware application is used to develop this app. - - -? Users will simply require a mobile device that runs Android 5.0+ and a working connection the internet, so it is not very costly to efficiently run this application. -? Additionally, any device that has 1 GB RAM and 250 MB of Disk Space is considered sufficient enough to run this application efficiently. These specifications are considered standard in this day and age so this is not expensive at all. Hence, the system is considered Economic Feasible. - -4. Resource Feasibility -? A resource feasibility study measures whether developers have sufficient resources required to build and complete the application. -? Resources and tools such as Android Studio, Firebase is required to complete development of this Application. -? All the above-mentioned resources are open-source and available free of cost for users and developers alike. This means that the system is considered resource feasible. - - -`3.1.4 Limitations of this project` -Project constraints or limitations are factors for your project that can impact quality, delivery, and overall project success. They are general factors to account for during the development of the project. - - -Limitations of our project include: - -? Android Devices running Android Lollipop (5.0) and above are required. -? Devices having a minimum of 2GB RAM is necessary for the application to operate. -? An Internet Connection is required to properly utilise functionality of the application. -? User must have sufficient knowledge regarding the software and device involved. -? Basic understanding of the English language is required to easily navigate within the app. -? The application will only run on the Android Platform. -? The application cannot provide facilities for a virtual bus pass or a virtual ticket system. -? Ticket cancellation and refunds will not be facilitated. -? Fining facilities cannot be provided if the user tries to use an invalid ticket. - - -`3.5 Database Schema` - - -- This table contains information about the Passenger. - -"Users": { -"": { -"BusPass": { "BusPassId": "String" -"BusPassQRCode": "String" "BusPassType": "String" "DaysLeftTillExpiry": "int" "ExpiryDateTime": "datetime" "ValidDateTime": "datetime" "isExpired": "boolean" -} -"BusPassTravels": { "": { -"FromLocation": "String" "ToLocation": "String" "TripEndedAt": "datetime" "TripStartedAt": "datetime" -} -"Email": "String" -"Name": "String" -"Phone": "String" -"Profile": "int" -} -} -} - -2. Buses - -- This table contains information about the Buses. - -"Buses": { "": { -"": { -"BusNo": "String" -"EndTime": "time" "FromLocation": "String" "StartTime": "time" "ToLocation": "time" - - -"TicketPrice": "int" -} -} -} - -3. Locations -- This table contains information about Locations. - - -"Locations": { -"": { "location_pin": "String" "place": "String" -} -} - - - -4. TicketBooked - -- This table contains information including in the Bus Ticket. - -"TicketBooked": { -"": { "AdultCount": "int" "BookingDate": "datetime" "ChildCount": "int" "ExpireDate": "datetime" "FromLocation": "String" "ToLocation": "String" "IsTripEnded": "boolean" "IsTripStarted": "boolean" "IsValidated": "boolean" "QrCode": "String" "TicketID": "String" "TicketPrice": "int" "TotalPassenger": "int" "ValidUpto": "datetime" -} -} - -5. Wallets -- This table contains information about Payment. - - -"Wallet": { -"CardBalance": "int" "CardHolder": "String" "CardNumber": "String" "CardPin": "binary" -} - -6. Bus Pass -- This table contains information of the user to apply for a Bus pass. - - -"BusPass": { -"{ -"Benefits": { "Benefit1": "String" "Benefit2": "String" "Benefit3": "String" "Benefit4": "String" -: -} -"DiscountedFromPrice": "String" "Price": "String" -"Validity": "String" -} -} - - -7. Driver -- This table contains information about the Driver. - - -"Driver": { -"CardBalance": "int" "CardHolder": "String" "CardNumber": "String" "CardPin": "binary" -} - - -8. Messages -- This table contains information about the Notifications sent by driver. - - -"Messages": { -"{ - - -"BusNo": "String" "DateTime": "datetime" "DriverName": "String" "Latitude": "long" "Longitude": "long" "Message": "String" -} -} - - -`Chapter 4: -The problem solution outline` - - -`4.1 Input Design/Output Design` - -Splash Screen -The initial screen that displays the logo or branding of the bus ticket booking application, providing a visually appealing introduction to the app. - - - - - -On Boarding Screen -A screen that guides new users through the essential features and functionalities of the bus ticket booking application, helping them familiarize themselves with the app's functionality. - - - - - - -Registration -A screen where new users can create an account by providing their personal information, allowing them to access the full features of the bus ticket booking application. - - - - - - -Login - - - -A screen where registered users can securely log into their accounts using their credentials, providing access to their personalized settings and ticket booking history. - - - - - - - - -Dashboard -A centralized screen that serves as the home base for users, providing a comprehensive overview of relevant information such as maps, bookings, and quick access to various app functionalities. - - - - - - -Ticket Booking -A screen where users can search for available bus routes and destinations, and book their tickets, ensuring a seamless and convenient booking process. - - - - - - -Bus Pass -A screen where users can purchase bus passes for regular or frequent travel, offering a cost-effective and hassle-free way to commute. - - - - - - -Maps -A screen integrated with mapping services, allowing users to view bus routes, bus stops, and nearby locations. - - - - - - -Profile -A screen where users can view and update their personal information, manage their bus pass and e-wallet, ensuring a personalized and user-centric experience. - - - - - -Admin Panel -A screen exclusive to administrators, providing access to advanced functionalities for managing and monitoring the TicketBus application, such as location management, bus management, bus route management and overall system control. - - - - - - -Managing Location -An administrative screen where administrators can add, edit, or remove bus stop locations, ensuring accurate and up-to-date information for users. - - - - - - -Managing Bus -An administrative screen where administrators can manage the fleet of buses, including adding new buses, updating bus details, and assigning routes, ensuring smooth operations of the TicketBus application. - - - - - -Managing User -An administrative screen where administrators can manage user accounts, review and edit user information, and handle user-related issues, ensuring efficient user management and support. - - - - - - - -Managing Bus Pass -An administrative screen where administrators can oversee bus pass options, set pricing, set promotional benefits, and manage bus pass-related functionalities, ensuring a streamlined process for bus pass management. - - - - - - - -4.2 Report - -Two types of reports are generated for the Booking module: - -1. Ticket Booking Report - - - - - - -. - - - - - - - - - - - - - - - - - - - - - - - - - -- The above report shows the ticket booking history of the user. - - -2. Bus Pass Travel Report - - - -- The above report shows the bus pass travel history of the user. - - - -4.3 Software Testing/ Validation - - -1. At time of user registration and login, various validation has been put in place such as only 10 digits in phone number, strong password (minimum 8 characters), and a valid email address format with a domain and @ also no input fields can be empty in order to ensure no dummy users can register or login. - -2. After registering, the user must verify their email address from a link sent to their inbox so that any fake emails used during the registration process cannot be used to login and create a profile. - -3. If the user already has an existing Bus Pass, they are unable to create a new Bus Pass, but after navigating to the bus pass section in the user profile they will be able to view their pass. - -4. If the user does not have a wallet, they will be urged to create a new wallet as the user will not be able to create a bus pass without their e-wallet. - -5. If the Bus Pass QR code is shared to another user with malicious intent via a screenshot, they will not be able to use the Bus Pass as the QR code for the pass will be regenerated every few minutes to resolve this major security issue. - -6. If the user has an existing E-wallet, they will be able to access it and add balance accordingly using their profile. - -7. There is various validation put in place for the change password functionality. If the current password is incorrect, if the new password is too weak (less than 8 characters), if the confirm password does not match the new password the user cannot change their password. - -8. For the Map functionality, if the user location is off, they will be prompted to -switch their location on within the device's settings. - -9. If the app does not have the location permission, they will be prompted to grant the location permission. - -10. If the user clicks on a location on the map that is too far away and no routes cannot be created, an error message will be displayed such as "Route not possible". - -11. If the user tries to scan a ticket that has expired, they will not be able to use the ticket again. - -12. If the user tries to scan a ticket at the wrong entry or exit scanner, they will be shown an error message such as "Wrong Station" accordingly. - -13. While booking a ticket there must be a minimum of 1 Adult as no child should travel by themselves for their own safety reasons. - - - - - - - - - - - - - - - - - - - - - - - - -Chapter 5: -The outline of work to be carried out in the future - - -5.1 System Enhancement - -In the near future we will implement the following: - -? Trip planning module where the user can plan their trip. -? Virtual City Map to display all information about stops etc. -? Functionality where the user can purchase bus tickets online according to their needs. -? Payment module implemented through Google's existing facilities. -? Form where users can apply and register for a Bus Pass with ease. -? Services alerting the user regarding the bus status on a timely basis. -? Module displaying favourite and frequently travelled routes of the passenger. - - -Conclusion - -The TicketBus app makes the life of the traveler easier by providing various functionalities to make travelling from one place to another effortless. It enables the user to do the process of booking tickets entirely paperless and online. There are systematic services that allow bus passengers to track their routes and create plans for the entire bus trip. It also displays various information regarding bus stops, routes and timings which aid in informing passengers and not keeping them in the dark. This app facilitates users by offering different components to the app user and further expedites their travelling with comfort. - - -References/Bibliography - -Websites: -* https://firebase.google.com/docs -* https://developer.android.com/docs -* https://firebase.google.com/docs/reference/android/packages -* https://developer.android.com/ -* https://dribbble.com/search/bus -* https://stackoverflow.com/questions/tagged/android -* https://www.youtube.com/results?search_query=android -* https://www.w3schools.blog/android-tutorial -* https://javatpoint.com/android-tutorial -* https://www.figma.com/ - - -Books: -* Android Programming for Beginners - Second Edition by John Horton -* Android Studio 3.0 Development Essentials: Android 8 Edition by Neil Smyth -* Head First Android Development Second Edition by Dawn Griffiths +Simplify your daily commute and enhance your public transportation experience with our user-friendly Android app. Say goodbye to traditional hassles and embrace a modern, efficient way to travel.