DartDine | February 2016

Java (Android)

DartDine was the culmination project for CS89, Human Computer Interaction. Our goal was to revamp the Dartmouth meal site, which is located at http://nutrition.dartmouth.edu:8088. Our goal was to make a mobile app that would solve all of the UX/UI problems that the current site had, especially when accessing it on mobile, and also combine all dining information into a useful format.

One of the major contributions I made to the project was fully building out the app, which was the main product. We decided to develop for Android, as the development environment is easier to quickly build prototypes in. Due to the nature of the product, the app was constructed as a proof of concept, and is not fully functional. For example, it currently doesn't pull the food data from the working site, despite having a hidden API that I could have leveraged. Additionally, ideally I would've created a function that would guess at how full the different dining locations were based on measured data for a few weeks. However, in the PoC, that data is randomly generated on application open.

DartDine home page

This is what the home page looks like: it provides customized open times based on what day it is, along with specials for each location, and buttons for specifics for the three main meal areas.

FoCo main page

Clicking on 'FoCo' brings you to this page, one of the three meal home pages. It displays more specific time information, as well as estimated crowd levels. Clicking "Search Menu" will show all of the menu items in a searchable, scrollable list, and displays nutritional information by tapping on any of the food items, as displayed below.

Menu item nutrition display

Going back to the "FoCo Main Page", and clicking on "Make a New Meal" will take you to the meal page (below), where you can choose items to add to a meal, and it will keep track of all the health statistics of your constructed meal, including calories, total fat, and protein. You can also save it for later use.

Build a meal screen

The "Load a Meal" button, from the meal home page, will allow you to load a meal from previously saved options.

Load meal screen

Overall, it was a fun project to hack out, even though it will in all likelihood never go beyond the proof of concept stage. You can download the .apk file to install on your Android phone, and check out the source code on my GitHub.