Skip to the content.

FlavorForge:
Let us cook

Welcome to FlavorForge, your go-to platform for affordable and delicious recipes tailored for college students! Here’s everything you need to know about our project:

Overview

FlavorForge’s purpose is to facilitate college students and their budget. Our platform provides a space where students can easily discover and share recipes that are perfectly suited to their limited resources and dietary preferences. Our goal is to empower students to cook nutritious and tasty meals using minimal kitchen facilities and readily available ingredients near their campus. Campus meal plans and on-campus restaurants can be expensive and FlavorForge is here to help students save without sacrificing flavor.

User Guide

Home Page

Our homepage serves as the central hub of FlavorForge. Here’s what you can find:

Homepage

Recipe Page

The Recipe Page displays the description, ingredients, and instructions for each recipe. It also displays a picture of the recipe and allows the user to submit a rating (0-5 stars). If you are the user that created this recipe then the page also includes an ‘Edit Recipe’ button that will allow you to make any changes necessary to the recipe.

Recipe Page

Recipe List Page

Browse through our collection of recipes with ease on the Recipe List Page. This page will display the entire collection of recipes that FlavorForge has to offer. Each card provides a preview of what each recipe has to offer.

Recipe List Page

Profile Page

Customize your FlavorForge experience on your Profile Page.

Profile Page

Update Profile Page

If you ever want to change your information, FlavorForge has you covered: -Update Name: Simply type your new name to change. -Biographical Statement: Give a short bio about yourself, tell us how you started cooking or what your favorite foods are. -Picture URL: Simply enter a link to a picture online to make it your personal avatar.

Update Profile Page

Add Recipe Page

This page allows you to add your recipe for the community to see. Get started now and if you’re rated highly enough you might even be featured on the Home Page!

Add Recipe page

Community Feedback

We gathered feedback from five community members who tried out FlavorForge. Here’s what we learned:

[Include findings from community feedback here.]

Developer Guide

Ready to dive into development? Follow these steps:

  1. Install Meteor.
  2. Clone the Flavor-Forge repository to your local machine.
  3. Navigate to the bowfolios/app directory.
  4. Install dependencies with:
    $ meteor npm install
    $ meteor npm install --save react-star-ratings
    
  5. Run the system:
    $ meteor npm run start
    
  6. Access the application at http://localhost:3000/.

Application Design

FlavorForge is based upon meteor-application-template-react and meteor-example-form-react. Please use the videos and documentation at these sites to better acquaint yourself with the basica pplication design and form processing in FlavorForge.

Data Model

The FlavorForge data model consists of two “primary” colections (Recipes and Profiles). The Recipes collection contains information including the username of the owner of the recipe, an _id that assigns the recipe a unique identifier, the name of the recipe, a description of the dish, the ingredients needed, the instructions for each recipe, a picture, and the rating which is an average of all the ratings given to the recipe. The profiles collection includes the email associated with the account, the users first and last name, a short biography about the user, and their picture. The various pages provide permissions based on the log in user so a “join” collection was not necessary. Instead the webapp will reference the username of the logged-in user and reference it to the specific recipe in order to determine which permissions are allowed. This is helpful to prevent users who did not submit a recipe from editing it.

###Initialization The config directory is intended to hold settings files. The repository contains one file: config/settings.development.json.

This file contains default definitions for Profiles and Recipes and the relationships between them. Consult the walkthrough video for more details.

The settings.development.json file contains a field called “loadAssetsFile”. It is set to false, but if you change it to true, then the data in the file app/private/data.json will also be loaded. The code to do this illustrates how to initialize a system when the initial data exceeds the size limitations for the settings file.

Quality Assurance

EsLint

FlavorForge includes a .eslintrc file to define the coding style adhered to in this application. You can invoke ESLint from the command line as follows:

   $ meteor npm run lint

Here is sample output indicating that no ESLInt errors were detected:

   > bowfolios@ lint /Users/philipjohnson/github/bowfolios/bowfolios/app
   > eslint --quiet --ext .jsx --ext .js ./imports ./tests

ESLint should run without generating any errors.

It’s significantly easier to do development with ESLint integrated directly into your IDE (such as IntelliJ).

Community Feedback

Justine P.

Positives:

Negatives:

Suggestions: Maybe you could implement a comment system so students can communicate with each other.

Josh S.

Positives:

Negatives:

Suggetions: Expand on the filtering so he can look for specific ingredients.

Brooke M.

Positives:

Negatives:

Suggestions: Let students communicate with each other so they can cook together!

Jody H.

Postives:

Negatives:

Suggestions: show ratings on recipe list page, add recipe categories so he can find what he likes easier.

Emily N.

Postives:

Negatives:

Suggestions: Add a way to save your favorite recipes.

ci-badge

Thank you for being a part of the FlavorForge community! Happy cooking! 🍳🔥