Skip to the content.

Rainbow Recipes


Table of Contents


About

Rainbow Recipes GitHub Organization

Rainbow Recipes

The Team

Ievgen BorovenskyiJasmine ChanTylor Nadamoto BellerMegan Wong

📃 Rainbow Recipes Team Contract

Deployment

Deployed Site: https://rainbow-recipes.vercel.app/

ci-rainbow-recipes


Project Overview

Problem: College students often have limited kitchen supplies and may lack basic cooking skills. With busy school schedules and part-time work, they have little time to not only learn and prepare meals, but to go out and buy groceries. As a result, it’s easy to fall into the habit of eating out or even forgetting to eat.

Solution: Rainbow Recipes aims to solve this issue, targeting students at UH Mānoa, by providing a system that students can use to learn or share quick, simple, and easy to prepare recipes:

Approach

There are three roles in this system: students, vendors, and admins:

Mockup Pages

Guest Landing Page

The landing page is the first page presented to visitors when they access the Rainbow Recipes site. It gives a clear introduction to the application, guiding users towards the main features of the website.

User Log In / Sign Up

The log in / sign up page provides authentication functionality, allowing users to either access an existing account or create a new one to unlock all of the application’s features.

Home Pages

The home page will differ slightly for each user.

A regular, logged in user will have a Recipes, Favorites, and See Vendors tab in the navigation.

A vendor will have a My Store, Recipes, Favorites, and See Vendors tab in the navigation. The My Store page will allow a vendor to add / update their stock.

An admin will have an Admin, Recipes, Favorites, and See Vendors tab in the navigation. The Admin page will show all users, vendors, and recipes.

Recipes Page

Recipes will be shown in a grid format each including the name, estimated time to finish, a favorite button, and the rating. A filter and search will be included to make finding specific recipes easier. Users will also be able to add their own recipes.

Add Recipe Page

Logged in users will be able to add their own recipes through a form. They will provide the name of the recipe, the estimated time, ingredients, appliances, an image, and instructions.

Use Cases

User

Admin

Vendor

Entity Relationship Design

Beyond the Basics

After implementing the basic functionality, here are ideas for more advanced features:

Risks and Mitigations


User Guide

Landing Page

This is the landing page that all users see first. In the top left corner you can create an account or sign in. Prospective vendors may access the Vendor Sign Up page to fill out an application to be a vendor. In the navigation you can also access the Recipes page, Vendors page, and About page, as well as view different recipe categories.

Recipes Page

Here you can find all the recipes created by the UH community. On the left you can filter based on food type, appliances, cost, and preparation time. Click on the recipes to access the full instructions or click the heart to favorite it for later. You can aso search for a specific recipe at the top or add your own recipe.

Vendors Page

The Vendors page shows all the local vendors available for you to purchase ingredients from. Clicking the card for the vendor will lead you to the individual vendor’s page.

Vendor Store Page

In this page you can find the the opening hours and groceries that this vendor sells wiht their prices and availability.

Vendor Map Page

This page shows all vendors in your area as well as their opening hours.

About Page

The About page includes information about how this project came to be and it’s purpose.

Favorites Page

In the Favorites page you can see all the recipes you have favorited.

Profile Page

The Profile page is where you can see your personal data as well as edit your profile.


Developer Guide

Installation

Download and install PostgreSQL here.

Then create a database using the command,

$ createdb rainbowrecipes

Cloning the Repository

Clone the repository

$ git clone https://github.com/rainbow-recipes/rainbow-recipes.git

After cloning install the necessary dependencies

$ cd rainbow-recipes
$ npm install

Linking to your database

Make a copy of the sample.env file and rename it to .env, then set the database URL to point to the database you made in the installation step.

DATABASE_URL="postgresql://username:password@localhost:5432/rainbowrecipes"

Change your datasource in /prisma/schema.prisma to use the right database url

datasource db {
  provider = "postgresql"
  // for local development
  url      = env("DATABASE_URL")
  // for Vercel
  // url       = env("POSTGRES_PRISMA_URL")
  // directUrl = env("POSTGRES_URL_NON_POOLING")
}

Running Locally

To run the webpage locally,

$ npm run dev

The webpage will ran at http://localhost:3000


Progression

Effort Estimation

📈 Effort Estimation Report

Milestone 1

📍 Milestone 1 Project Page

Guest Landing Page

User Landing Page

Sign Up & Sign In Page

Recipes Page

Add Recipe Page

User’s Recipe Page

User’s Favorites Page

Vendor’s My Store Page

Admin Page

Milestone 2

📍 Milestone 2 Project Page

About Page

Vendors Page

Edit Recipe Page

Detailed Recipe Page

Profile Page

Vendor Store Page

Milestone 3

📍 Milestone 3 Project Page

I’m Feeling Lucky Page

Success Messages

Updated Detailed Recipe Page with Reviews

Admin Database Dashboard

Vendor Map Page


Community Feedback

Overall Experience

Feedback was mostly positive, users found the site easy to navigate, visually appealing, and helpful for discovering recipes. Users highlighted the layout and aesthetic as major strengths.

Reported Issues & Bugs

Suggestions for Improvement