Inspiration

Living in Saraca hall of NTU, where most of the buses terminate, we have faced many frustrations every morning when the bus that we were waiting to take us to our classrooms actually turned out to leave us at many other Hall of Residences. This has caused us to be late for classes, and even miss class quizzes! As the current bus apps dedicated to NTU students(NTU GO and uWave) does not include the feature which tells us whether the bus is planning to terminate nor where it will terminate, it has caused frustration for those who are waiting for the bus to come without knowing whether it is terminating or not. When we wait over 10 minutes and realized it is a terminating bus, the disappointment is inevitable. Hence, to solve such frustration and the lack in the current bus app system, we have decided to build a new bus app.

What it does

Our mobile application consists of two versions: for Bus Driver(Admin) and for Users. The application for bus drivers allows them to indicate their bus type and the most important information which is where they will be terminating at. The information from the Bus Driver app will be uploaded to the backend server we have created. Then, this information will be reflected on the User app, which displays the map of our school with the indicated route for each bus type. By toggling the bus icon on the map, we can know whether the bus will terminate, and if so at which bus stop it will terminate.

How we built it

We have used Flutter as our main front-end development. Moreover, we have used MongoDB and FastAPI to build the back-end server which is connected to the front-end user interface made from Flutter.

Challenges we ran into

As we wanted some challenge and the opportunity to learn a new language, we have decided to use Flutter, which none of us have experience with. Although it may have seemed to look like Java, it was very different, and we had difficulties with the complex syntax of the Flutter language. Moreover, although we were able to receive information from the server to the front-end user interface, we found difficulties in displaying the information in our server to the User App. Hence, due to time constraints, we have decided to leave this as a possibility of extension that can bolster the completeness of our project.

Accomplishments that we're proud of

We are proud of the fact that we had the chance to learn and delve into the different aspects of Flutter, the language that none of us have tried before. Moreover, we are proud of the fact that we accurately identified the underlying problems in the currently existing bus apps for NTU students(NTU GO and uWave), and tried to make a completely innovative bus app that will make the lives of NTU students better.

What we learned

The main takeaway from this hackathon for our team was that we were able to learn and get experience with Flutter.

What's next for New guideline for NTU Bus

First of all, we can add machine learning and data analytics to recommend individual users the fastest route and recommended bus type to take based on the destination of the user. Furthermore, we need to solve the problem of the incompleteness of the User app. We need to further add the functions to display the information received from the server to our User app.

+ 27 more
Share this project:

Updates