SchoolBusTrack is an elegant platform that will help you to track your children’s daily school trips. With
SchoolBusTrack, you can easily track your children’s school bus in real-time, get notifications when the bus is near, and get a notification when your child gets on and off the bus.
SchoolBusTrack consists of
- Two Flutter apps for guardians and drivers
- Admin panel with a Laravel API system as a back-end and a Vue.js front-end system as a web interface
The system has many advantages:
- The apps are developed in Flutter. This means the apps can be published to AppStore and Google Play with the same code base.
- The parent app can track multiple buses simultaneously in different schools. So, the same app can track all children even if they are in different schools.
- The parent can add multiple guardians (sub-accounts) to his account. A guardian will see the same parent screens with fewer details and privileges.
- The parents and drivers can register directly from the apps. The admin must approve the driver via the admin panel before the driver can use the app.
- The parent can add many children directly from the app. The admin must approve the students first. Students can be in different schools.
- Each student is assigned to a morning and afternoon trip. The parent searches for nearby stops to assign students to morning and afternoon trips.
- The notification settings are adjusted per student. The notification settings include “bus is near pickup stop by a distance, the bus arrived at pick up stop, the student is picked up, the student is dropped off, ...).
- The school admin will create a list of stops and routes for the school, and then the parents can select drop-off and pickup points for each student from the list of available stops.
- The driver will check in students using a QR code. The QR code is generated from the parent app.
- The admin can create different plans for either the school or parents. Also, a plan can be set to be purchased only once in case of providing trial plans to schools or parents.
Features
Demo (Simple mode)
-
Backend, go to the demo website and log in using
-
Guardian Mobile App, click here
-
Driver Mobile App, click here
Demo (Advanced mode)
-
Backend, go to the demo website and log in using
-
Super Admin credentials
-
Demo school credentials
-
Guardian Mobile App, click here
-
Driver Mobile App, click here
Please note that delete and some update functions are disabled in the demo
How to test the system (Simple mode)
- Create a new school and set its address (the system will notify you to do so).
- Open the driver app and register for a new driver.
- Go to the Guardian app, register your account, and add one or more students.
- Go to the school admin panel and do the following:
- Approve the driver.
- Add a new bus.
- Assign the bus to the driver.
- Approve the student.
- Assign each student a morning and afternoon bus (the system will notify you to do so).
- Set each student’s pickup and drop-off locations from the guardian app.
- Go to the driver app and start the trip.
- Track the trip from the Guardian app.
How to test the system (Advanced mode)
- Open the driver app and register for a new driver.
- Go to the school admin panel and do the following:
- Approve the driver’s documents.
- Add a new bus.
- Assign the bus to the driver.
- Create a new route.
- Create a trip on that route.
- Assign the trip to the new driver.
- Go to the driver app and start the trip.
- Go to the guardian app and try to set the pickup and drop-off stops of a student in the same geographical area where the created route is located. Make sure that there is enough coins in either school or your account.
- Track the trip from the guardian app.
- Navigate the route as the driver. When your location is close to the student, an alert will appear in the driver app to slow down. When the driver reaches the student’s location, a pop-up will appear to allow the driver to scan the student’s ID to check him in.
- When the driver reaches the student’s drop-off point, a pop-up will appear to allow the driver to check him out.
Requirements
Please make sure that you have accounts for
-
VPS server with root credentials
-
Google Maps API with the following APIs enabled
- Geocoding API
- Maps JavaScript API
- Places API
- Directions API
- Maps SDK for Android
- Maps SDK for iOS
- Firebase account
- One payment gateway from the following:
-
Braintree SDK. You can test with a sandbox account OR integrate a live account.
- Stripe
- RazorPay
- Flutterwave
- Paystack
Technologies Used
-
Flutter – customer and driver apps
-
Laravel - backend
-
VueJS - admin panel front end
-
Socket.io – real-time bus location update for mobile apps and admin panel
-
Google Maps SDK – display maps in mobile apps and admin panels
Credits and License
All assets in the item are either created by me or are licensed for use in a commercial application with or without author attribution. I provide the necessary attribution in the ‘About’ section in both the mobile apps and the landing web page.
What if I have an issue?
I completely support this item and will reply within 24 hours if you have any issues. You can just send a message via my CodeCanyon profile page, and I will get back to you right away.
Changelog
The new updates are based on suggestions from comments. If you have any ideas or improvements to the system, please share them with me, and I will add them for free if I find them useful to the system in general. Thanks!!
Version 2.0 11/1/2025
The update adds the following to the system:
- We have added the ability for the school’s admin to transfer some of its coins to any parent. This way, the parents can purchase coins directly from the schools without paying through the apps.
- Some bug fixes.
Version 1.9 28/11/2024
The update adds the following to the system:
- All screens that display a map on the admin panel can be centered by default on a specific location, instead of the default location.
- We replaced the old QR code scanner with a fast, real-time scanner that scans the student’s QR code very fast while opening a camera view without pressing any button.
- Some bug fixes.
Version 1.8 7/10/2024
The update adds the following to the system:
- The Flutter version is updated to 3.24, and all dependencies are updated.
- A new setting in the super admin panel is added to limit the stop search radius for the Guardian app so that the guardian will not see all the system’s stops. Only the nearby stops will be displayed.
- The super admin can now adjust the announcement distances (distance to drop off, distance to slow down, etc.) in the driver app from the settings screen in the super admin panel.
- In addition to scanning a QR code, the driver can now check-in or mark any student absent by tapping a button.
- The driver can now dismiss the next stop, so he is free to go to the next one. This is suitable when a parent has a last-minute absent student or a problem reaching a specific stop.
- The driver’s personal documents and students’ profile pictures are optional now when registering.
- In the Guardian app, the parent now has a button to call the driver.
- After email authentication, an OTP screen is added to secure app access. The super admin can turn this feature off from his super admin panel.
- All notification types are allowed now in the simple mode.
- Some bug fixes.
Version 1.7 31/8/2024
The update adds the following to the system:
- Add a new screen in the school’s admin panel for live tracking of running trips buses.
- Add V3 reCAPTCHA on the signup page for schools.
- Bulk upload of students via Excel file.
- The request deletion option is updated to delete the user’s files on the server to save space.
- An indicator is added beside drivers to indicate that one or more of the driver’s documents have expired. In this case, the admin can request the driver to update his expired documents.
- This update includes minor bug fixes.
Version 1.6 31/5/2024
The update adds the following to the system:
- Vibration and sound are played when the driver scans a student’s QR code.
- Added a smart way for deleting stops
- This update includes minor bug fixes.
Version 1.5 6/5/2024
The update adds the following to the system:
- The school admin panel allows the un-assignment of a driver from a trip.
- The Guardian iOS app has a new feature called “Request coins.” This feature allows parents to request coins and receive a payment link via email to pay for them. The payment will be made using the payment gateway configured by the super admin (as usual). This modification is necessary because Apple does not allow direct payment through the app except for physical goods. Direct payment through the app still exists, but it is recommended only with Android since Google Play has no issue with this.
- This update includes minor bug fixes.
Version 1.4 20/4/2024
The update adds the following to the system:
- Stop the screen lock during the trip in the driver app.
- Adding a new option to delete notifications in both driver and guardian apps.
- Adding a new option in the guardian app to get a student card on the guardian email. The card contains the QR code for the student and his photo so parents can print and keep it with the student during pickup and pick-off.
- The driver app changes the map orientation to match the direction of the bus movement on the map.
- Adding a new option in the school’s admin panel to allow the school admin to view the pickup and dropoff point of the parents to facilitate finding which students belong to which bus for schools that have many buses and want to co-ordinate trips and which students to pick.
- The super admin can control displaying the payment screen in the parent app by a setting from the super admin’s web panel.
- Minor bug fixes.
Version 1.3 26/3/2024
The update adds the following to the system:
- A new option is added to the school admin panel, allowing the current location to be set as a school address in simple mode.
- A new option is added to the Guardian app, allowing users to set their current location as a pickup or drop-off address in simple mode.
- The system now has a new option that allows the super admin to show/hide all schools that appear when a new driver or student registers. If the super admin decides to hide schools, a driver or student guardian must enter the school code to select a school. The school code is shown in the school menu in the school’s admin panel.
- A new tab in the school admin panel is added to the students’ menu that shows all out-of-coins students.
- Update some dependencies in the guardian and driver apps to be compatible with Google Play requirements.
- Minor bug fixes.
Version 1.2 4/3/2024
The update adds the following to the system:
- A new system mode called Simple Mode is introduced to the system. With the new simple mode, the school admin does not have to pre-set stops, routes, trips, etc. The parents will choose any location on the map as their pickup or drop-off location for each student; then, the system will implicitly handle these locations as stops. The driver will be able to either order the student’s stops manually or automatically. Then, the driver app will mark any visited stop by a different color.
- The super admin can create schools from the admin panel.
- The super admin can delete schools from the admin panel.
- Minor bug fixes.
You can find the demo of simple mode login details below
-
Backend, go to the demo website and log in using
-
Guardian Mobile App, click here
-
Driver Mobile App, click here
Version 1.1 15/2/2024
The update adds the following to the system:
- A notification system is integrated into the driver app. The driver now gets a notification when the admin assigns a new trip or sends a notification to all students on a trip.
- AdMob ads are integrated into both driver and guardian apps. The admin can disable the ads from the settings page in his admin panel.
- In the backend, a new feature is added that allows school admin to reverse a route. For example, a morning route from A to B to C to school can be reserved with one click to create an afternoon route from school to C to B to A.
- Many payment gateways are added to the system. Now, the system has Braintree, RazorPay, Stripe, Flutterwave, and Paystack gateways.
- The speed of the school bus is displayed in the Guardian app.
Version 1.0 5/2/2024 – First Release
Support Notes
Due to the heavy load on the work, support and comments are treated twice a day. Right now we receive many emails and requests for support than we can manage quickly. Many times we can answer the same day but others take much longer. Thanks for reading.