Skip to the content.

Manoa Menu

Manoa Menu Bg ci-badge

Table of contents

Overview

The problem: International students at UHM, particularly those from Japan, may find it difficult to read the Campus Center cafeteria menu. With local and western dishes that aren’t self-explanatory, using translation tools like Google Translate on each week’s menu is tedious and often inaccurate.

The solution: The Manoa Menu web application translates the cafeteria menu from English to Japanese, ensuring accurate and culturally aware descriptions. The app adds supplementary information for menu items that might be unfamiliar. Users can view the menu without needing to log in, while logged-in users can save their favorite items and check if these favorites appear on the current week’s menu.

Approach

User Guide

This section provides an overview of Manoa Menu’s user interface and functionalities.

Landing Page

The landing page greets users and introduces Manoa Menu’s features.

Landing Page Title Landing Page Features

This page shows the current cafeteria menu. By default, it displays in English, but users can select the Japanese translation if desired.

For Campus Center Menu scraping:

Campus Center Menu

Menu Page

Menu Translated

Gateway Cafe Menu

Menu Page

Menu Translated

Hale Aloha Cafe Menu

Menu Page

Menu Translated

Admin Page

Menus can be manually edited in the event of translation errors or unexpected changes to the menu.

Admin Page

Dashboard

Accessible after logging in, this page displays:

Dashboard Page Dashboard Page

This page shows popular menu items among other students, with an option to add items to favorites.

Popular Items

Dining Location & Hours

This page features an embedded Google Maps for each eatery we support so you can easily find directions to the location.

Dining Location & Hours

Sign-in and Sign-up

Click the “Login” button in the upper right corner to go to the sign-in page. Only registered users can sign in:

Sign-in Page

Alternatively, select “Sign up” to register as a new user:

Sign-up Page

Community Feedback

We’d love to hear your thoughts on Manoa Menu! Feel free to take a few minutes to fill out the Manoa Menu Feedback Form, which has just five questions to help us improve the website.

Community Comments:

Community Feedback Checklist:

Developer Guide

This section provides information for developers who want to contribute to or customize Manoa Menu.

Installation

  1. Install Node.js and Next.js.
  2. Clone the repository from the Manoa Menu GitHub page.
  3. Install dependencies with:

    npm install
    
  4. Start the development server with:

    npm run dev
    
  5. Access the app at http://localhost:3000.

Deployment

Deployment page

Application Design

Manoa Menu uses Next.js for its front-end, while the back-end is structured with Prisma ORM and PostgreSQL. The data model includes tables for users, menu items, and saved favorites, supporting relational queries to efficiently manage user data and preferences.

Continuous Integration

Manoa Menu uses GitHub Actions to automatically run linting and tests for each commit to the main branch. You can view recent workflow results at https://github.com/manoa-menu/manoa-menu/actions.

ci-badge

Development History

The development of Manoa Menu follows Issue Driven Project Management practices. Each milestone is managed through GitHub Project Boards.

Team

Manoa Menu is designed, implemented, and maintained by:

Brendan Kuwabara (Front-end Developer),

Adam Graham (Full-Stack Developer),

Eric Kim (Front-end Developer),

Dat Truong (Front-end UX/UI Expert),

and Justin Sumiye (Full-Stack Developer & Professional Web Scraper)

Contact us if you have any comments or questions.

Team Contract