In recent years there has been a push to have more food trucks on the University of Alabama's campus as alternative meal options for students. While having these food trucks on campus is fantastic and convenient, they can sometimes be difficult to track down for busy students as they change locations daily. Here came the inspiration for Bama Food Trucks, and a way for us to find our favorite food trucks on campus a whole lot faster.
What it does
Bama Food Trucks is a mobile app that allows its users, primarily students, to tap on the names of their favorite food trucks often found on camps to see exactly where the food truck is at that moment. After tapping on the name of the food truck, the user is brought to a new page with a zoomed in map clearly displaying the location of the food truck as well as several drop down menus containing the menu and related prices for the food truck. The food trucks each have a specific log-in that allows them to input their current location when they arrive on campus, and that location then updates the map for their specific truck.
How we built it
Front end mobile development was done in the Flutter, Google's mobile app SDK. This includes the use of Material Design widgets and community plugins. Back end data was all supported on the Google Cloud Platform using Cloud Firestore as a noSQL database in conjunction with Firebase to interface with the mobile app.
Challenges we ran into
The package we used for Map data, flutter-mapbox-gl was only on it's first release and lacked features we had originally planned on using. We spent the better part of Saturday searching for alternative solutions and eventually found a way to make the limited package work well even though no better solutions were available. In addition, the Flutter SDK is still in Beta Development, and therefore not fully stable, We had several IDE crashes and had to do a couple re-installs throughout the weekend.
Accomplishments we're proud of
Coding a functional app and Backend in a weekend. Working though the difficulty of poorly documented libraries to find the best one. Learned how to use noSQL and Google Cloud Platform. Used a new Language and SDK, and became proficient at it.
What we learned
How to choose a plugin. A-synchronous programming techniques to handle user input and web queries. How to use the Flutter SDK in conjunction with Android Studio. Why documentation is so important
What's next for Bama Food Trucks
Implement a better authentication method for the employees.
See a schedule ahead of time to better plan around the day.
Talk with truck owners and put the app in production.