Table of Contents

Overview

Cooking Compass is an application that allows UH Mānoa students to share and search for creative recipes that respect the constraints—limited kitchen resources, cooking skills, time—many college-goers face. By providing opportunites to find creative, doable recipes, we aim to foster a community that celebrates resourcefulness, healthy eating, and the joy of cooking.

The Techy Stuff

Milestones



Mockups

Sign-up Page

Sign-in Page

Individual Recipe Page

Recipe Submit Page


Landing Page



Deployment



Wish to install and view our program?

First, you’ll want to clone the repository to your own desktop. That requires permitted access so feel free to request access. The link to the repository can be found here.

Second, as this uses postgres to create and maintain databases, you’ll need to install it. You can install it through here.

Once you open the repository into your environment, proceed to the terminal and create that database.


$ createdb testing
Password: (enter password here)
$

NPM and Node.js is both needed for this, so have those too. Then you can proceed to terminal and type:


$ npm install

After that, create a .env file from the sample.env. Set the DATABASE_URL variable to match your PostgreSQL database that you created in the first step. See the Prisma docs Connect your database. Then run the Prisma migration npx prisma migrate dev to set up the PostgreSQL tables.


$ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "<your database name>", schema "public" at "localhost:5432"

Applying migration `20240708195109_init`

The following migration(s) have been applied:

migrations/
└─ 20240708195109_init/
└─ migration.sql

Your database is now in sync with your schema.

✔ Generated Prisma Client (v5.16.1) to ./node_modules/@prisma/client in 51ms

$


Now, here is how to start it up locally:

Once the libraries are installed and the database seeded, you can run the application by invoking the “dev” script in the package.json file:


$ npm run dev

> nextjs-application-template-1@0.1.0 dev
> next dev

▲ Next.js 14.2.4

- Local: http://localhost:3000
- Environments: .env

✓ Starting...
✓ Ready in 1619ms


Viewing the running app:

If all goes well, the application will appear at http://localhost:3000. You can login using the credentials in settings.development.json, or else register a new account.


ESLint

You can verify that the code obeys our coding standards by running ESLint over the code in the src/ directory with:

$ npm run lint

> nextjs-application-template-1@0.1.0 lint
> next lint

✔ No ESLint warnings or errors
$



User Interface Walkthrough

Landing Page

When you first bring up the application, you will see the landing page that provides a brief introduction to the capabilities of Cooking Compass:


About

Clicking on the ‘About Us’ link brings up a page containing information about the app, our vision, and frequently asked questions.


Sign Up

If you do not yet have an account on the system, you can register by clicking on ‘Login’, then ‘Sign Up’:


Sign In

Click on the Login link, then click on the Signin link to bring up the Sign In page which allows you to login:


Submit Recipe

After successfully logging in, the user will be taken back to the homepage, but now they will be able to submit recipes. Clicking on the ‘Submit a Recipe’ link will bring up this page:


Explore

Clicking on the ‘Explore’ button brings up a page that lists all of the recipes that have been submitted to the application. Each card has a preview of the dish, including an image and description. The search bar in the navigation bar fetches specific recipes the user types in as long as they are existing.


Individual Recipe

From the Explore page, the user can click on the ‘View Recipe’ button for the recipe they would like to know more about. This brings up a page that now also lists the ingredients and instructions for that recipe.


Report Recipe

A recipe may not always be suitable for the Cooking Compass community. Clicking the ‘Report’ button on a recipe page allows the user to alert the admins of potential violations.


My Recipes

The user can click the ‘My Recipes’ button on the navigation bar to view the recipes they have submitted. This page allows them to edit or delete their submissions.



Community Feedback

What did you like about Cooking Compass? Is it convenient? Would you use it?

  • “I liked how easy it is to follow and use! I would definitely use this to look at other people’s recipes.”
  • “Most of it I liked; mainly the structure and the design. I would use this and spread this to other people.”
  • “I think it’s very convenient and I can find everything easily.”


Tell us how Cooking Compass could be better.

  • “Try to make the spacing between the pictures and descriptions of the receipies not funky.”
  • “The comma structure was not the best option. Try to use some less common grammatical symbol/device like a ‘;’.”
  • “Clearer instructions on how to write the instructions for each recipe.”



Meet the Developers

Derrick


Majoring in ICS to eventually be in Game Development.

Jasmine


Majoring in ICS and minoring in Philosophy. LinkedIn

Martin


Majoring in Astrophysics and minoring in ICS. LinkedIn

Binh


Majoring in ICS with an interest in Cybersecurity. LinkedIn