EZBus - Transportation Management Solution - Two Flutter Apps + Backend + Admin panel

EZBus - Transportation Management Solution - Two Flutter Apps + Backend + Admin panel

Cart 7 sales
Recently Updated

EZBus is a transportation service that is committed to enabling cities, individuals, and businesses to move anywhere. EzBus is tech-driven, fancy, and convenient.

EZBus consists of

  • Two Flutter apps for customers and drivers
  • Admin panel with a Laravel API system as a back-end and a Vue.js front-end system as a web interface





  • Backend, go to the demo website and log in using


    • Customer Mobile App, click here


    • Driver Mobile App, click here
      • Use for email with password 12345678, or sign up with a new email


How to test the system?

  • Open the driver app and register for a new driver.
  • Go to the admin panel and do the following:
    1. Approve the driver’s documents.
    2. Add a new bus.
    3. Assign the bus to the driver.
    4. Create a new route.
    5. Create a trip on that route.
    6. Assign the trip to the new driver.
  • Go to the driver app and start the trip.
  • Go to the customer app and try to search for trips in the same geographical area where the start and end stops of the created route are located. Make sure that your wallet balance is sufficient. If not, please charge it. All payments are in the sandbox, so there are no real payments in the demo.
  • Select the trip in the customer app and pay for it.
  • Track the trip from the customer app.
  • Navigate the route as the driver. When your location is close to the customer, an alert will appear in the driver app to slow down. When the driver reaches the customer’s location, a pop-up will appear to allow the driver to scan the customer’s ticket to check him in.
  • When the driver reaches the customer’s drop-off point, a pop-up will appear to allow the driver to check him out.
  • The driver will see his wallet value increase and the history of this.



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
  • Braintree SDK. You can test with a sandbox account OR integrate a live account.


Technologies Used

  • Flutter – customer and driver apps
  • Laravel - backend
  • VueJS - admin panel front end
  • – 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.



The new updates are based on suggestions from comments. Please, if you have any ideas or improvements to the system, share them with me, and I will add them for free if I find them useful to the system in general. Thanks!!

Version 1.4 15/11/2023

  • The update introduces minor bug fixes.

Version 1.3 2/11/2023

  • Added RTL support for the apps.
  • Added a new option to share the reservation ticket in the customer app.
  • Add a notification system to the apps. The admin can send notifications to all customers who reserve a specific trip.

Version 1.2 1/11/2023

  • Integrate Braintree, RazorPay, FlutterWave, and Paytabs into the system.
  • Add the option to disable payment at all to allow free rides.

Version 1.1 31/10/2023

  • Added multi-language support for the Flutter apps. We have added French, Spanish, and German translations.
  • Minor bug fixes.

Version 1.0 18/10/2023 – 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.