Skip to content

Project Overview

Liam Niehus-Staab edited this page Apr 24, 2020 · 1 revision

under construction Mayflower Dining App – Fall 2019 In Review

Project Overview

The Mayflower Dining group has partnered with Scott Gruhn from the Mayflower to design a prototype of a website. Mayflower Dining provides meals for Mayflower Community residents. The long-term goal of the project is to create an online service where residents of Mayflower can view upcoming meals and where staff can view a list of needed ingredients. Residents should be presented with a menu for the given day as well as a calendar which allows other days' menus to be viewed as well. The menu must be accessible for the residents to easily know what food will be served and when.

The website should also provide tools for staff to help with planning and preparation of the meals. This includes the ability to change menu items, both temporarily and permanently.

The project is being developed as a prototype to refine the specification and user interactions of the proposed system so that Mayflower can use the prototype to contract professional developers to create the full system.

High Level Goals

Mayflower dining has two permanent 49-day cycle menus, although they do offer some temporary options on special occasions. The project at its current state includes data base models and pages to view, edit, or add dishes in the menu. It also includes a base menu page.

One main goal is to prepare a more intuitive menu view for Mayflower residents, allowing them to experiment with it, and to refine the view based on their input. Another intended goal is designing a front end compatible with Mayflower's main website.

Another goal is to clean up the code base as it currently contains much inconstant and redundant code. As the files get standardized and pruned, tests should stay up to date with the current state.

Inherited State

While the previous group implemented a number of features and made significant progress on understanding the client needs, there are some pressing issues in the codebase that must be addressed before attempting to expand upon the current level of functionality.

Please see the Wiki page on GitHub for more information.

State at the End of Fall 2019

Good looking (though programatically messy) UI designed to look like the Mayflower website. Daily menu displayed on the home page, days navigable by a JS calendar widget. Basic user authentication.

Implementation Details

The codebase for the Mayflower Dining application is written using Ruby on Rails and the Model View Controller design pattern. For more information on the implementation, please refer to the READEME in the root directory.

Project Workflow

We have weekly Tuesday team meetings throughout the semester where we do stand-up meeting reflecting on what we have done the previous week / sprint and planning for the next week / sprint. Occasionally during our team meetings, we also do team building through various fun activities, which really help us bond as a team. Food is also used as an incentive so that people will come to meeting on time, which works like a charm.

Individually, we heavily rely on the standard branching and merging methodology through Github. On top of that, we also find project dashboard, code review and wiki pages on Github to be very useful as well.

Future Work

  • Special Menus (Christmas, Thanksgiving, 4th of July, etc.)

  • Recipe ToDo List [possibly deprecated; recipe and ingredients models were trashed in 2020 since they didn't work. Would have to ask Scott if having a recipe for each dish is still a priority for app MVP]

  • Connecting ToDo List to Ingredient Inventory

  • Improve Front end

  • Completed production sheet

  • UI for Interacting w/:

    • Dishes Table

    • DishesMenu table