We were planning out ideas for the hackathon and eventually we stumbled onto this one because we were all MHC students and we all have suffered through the long and somewhat inconvenient lines at the Blanchard Campus Center. We thought it would be convenient to make an app that would allow MHC students to submit orders to Blanch online so instead of waiting in line, they could just order it and then pick it up when it was ready.
What it does
Our app allows the user to easily choose items from the online Blanchard menu in order and allow the user to pass in their order for the chefs to process. We split the menu into four sections (charbroiled, salad, grilled, and special) which allows the user to choose which category of food they want and each section leads to a separate screen with checkboxes for what the user wants to order. After clicking through, the user can then go through with their order which is automatically deducted from their dining dollars and the user is also able to delete their order (clear their cart) if they end up changing their mind about the cart. There are some limitations. For the login the username and password are static because the username can only be accepted as le27l and the password as 12345. We were also unable to create more categories for the user to choose from because of how constrained we were as well as being unable to connect the app to the internet to read through and extract information from an online menu.
How we built it
We built the front end of our app on Android Studio and we built the back end first with eclipse and then combined both pieces into android studio in order to create a working app.
Challenges we ran into
There were so many challenges. None of us had ever made an app before and we also didn't plan out the entire logic so idea of the app until we met up during the hackathon not to mention how much we struggled a lot with making the display of the app and incorporating the code we had in the back in with the front end. At the same time, we also wanted to be able to update our menu in real time so we had a hard time figuring out how to read from a webpage and then converting them into strings and then we had no idea how to connect it to the code in the front end so there were a lot of stuff that could have gone wrong and did.
Accomplishments that we're proud of
That we were able to make such a sleek looking app and that we were able to combine our code so that we could have a nice demo to work off of. We're also proud that we were able to incorporate a lot of our ideas into the app even though we were working under constrained time and we came in with different skills and a lack of knowledge of some of the coding we had to do. We're really proud that in the end all of our efforts came together and we were able to make something really nice even though we had to abandon some of our more complicated and neat plans (aka having the app run in real time).
What we learned
We learned how to design apps and how to pull and extract information from a webpage to store for us to run through and connect to other parts of our app. This kind of program was a first for all of us and we're glad that we were able to learn so much in order to explain to each other what we learned and how to connect that with each other so our program was something new to all of us.
What's next for Dining2Go
We really wanted to be able to have the data read and display from a web page but we ultimately could not do it so hopefully we'll be able to do it some other time. We also hope to be able to incorporate a real time timer so the app can automatically update every day with their new menu and also that we will be able to see what time of day it is to check if the student will be using a lunch, dinner, or snack swipe and show them a menu that corresponds with that time. We also hope to be able to incorporate a favorites tab so users will be able to see what food options they tend to eat as well and an estimated time of how long the user will have to wait depending on how many people are currently in Blanch and how many orders are in the queue.