Code and documentation of Tollgate Payment App Android Project
Project Domain / Category
Abstract / Introduction
The final prophet of Allah (Peace Be Upon Him) said, “The two most undervalued assets by people are good health and leisure time.” – Sahih Al-Bukhari (Vol: 8, Book: 76, Hadith: 421). Today, due to increase in the number of vehicles, there is a lot of gathering of traffic at toll gates. Main reason behind this is the manual collection of toll tax.
On average, each vehicle needs to stop at the booth for about 2 minutes for payment of toll tax. To decrease this traffic and time consumption, we are coming up with a noble idea of a smart payment application.
Tollgate Payment App is an Android based application, in which travelers can pay their toll gate fees in a convenient way which decreases manual work, saves time, and reduces traffic congestion at toll gates. Furthermore, it allows vehicles to pass through the booth by just showing QR code. It relieves travelers of the burden of waiting in queue to make their toll payment in cash, which decreases fuel-consumption and time spent on each payment as well.
Functional requirements for this app are as follows:
- Users: The app must support three types of user; Admin, Staff and Client
- Manage Staff (add/update staff details etc.)
- Verify clients’ registration
- Add toll gates details (address, location etc.)
- Define toll charges
- View online transactions
- View clients’ feedback
- Get notifications (violation by client etc.)
- Scan QR code
- Verify vehicle details
- Get notifications (payment confirmation etc.)
- Add vehicle details
- View toll gates and charges
- Manage eWallet
- Get QR code
- View transactions
- Give feedback
- Get notifications (nearby toll gates etc.)
Authentication: App should provide registration (for client only) and login GUIs (e. Graphical User Interfaces) for all users; store users’ credentials at Firebase Authentication.
Databases: Firebase Real-Time Database should be used as an online server for storing all users’ data; use JSON format in this regard. However, for app internal storage, SQLite or Room database
should be implemented.
- Google Maps: The client should be able to locate the toll gate via Google Maps by viewing the distance from his/her current location to next toll gate.
- Payment: App should provide interface to pay toll fees online by using eWallet; provide add money (using debit/credit card) and view balance options.
- QR Code: App should generate a unique QR Code after payment confirmation. This code will be used as a gate pass and will be scanned by the staff at toll booth.
Notifications: App should send proper notifications to specific user/s when an appropriate action is required/performed; like not having enough money in eWallet, after successful payment, completion of QR code scanning, and when toll gate is 1 km ahead etc.
- IDE: Android Studio
- Programming Language: Java/Kotlin
- Databases: Firebase Real-Time Database & SQLite/Room
Class diagram, activity diagram, data flow diagram, sequence diagram, use case diagram, Use case description, scope, hard requirements, non-functional requirements, testing test cases, SRS document, design manual, and other diagrams are needed to draw for this project.