/Saffron_Public

Primary LanguageJavaScriptMIT LicenseMIT

Saffron

Creative cuisine for your tired routine! Saffron helps cooks find new and interesting combinations of ingredients to spice up their dinner routines. Pick a few ingredients you already have, and we'll suggest the best next ingredients to use!

Team

  • Product Owner: Albert Han
  • Scrum Master: Shane Hubbell
  • Full Stack Development Team Members: Daniel Rabinovich, Aezed Raza, Albert Han, Shane Hubbell

Table of Contents

  1. Usage
  2. System Architecture
  3. Preview
  4. Technologies
  5. Microservices
  6. Development
    1. Installing Dependencies
  7. Team
  8. Contributing
  9. License

Usage

Saffron was built out of our frustration - how do you easily discover new recipes and ingredients on the go? We scraped thousands of recipes and aggregated those recipe and ingredient combinations to suggest ingredients to users.

Here's how it works: A user enters "selected" ingredients into the app, we find ALL the recipes which contain those ingredients, then suggest the next most likely ingredients to maximize your recipe options.

We track collective user behavior and use machine learning algorithms to predict which recipes you're likely to love. We hope you enjoy using the application, and welcome contributors to this project.

System Architecture

System Architecture

Preview

Landing page: Landing page

Ingredients & Recipes page: IngredeintsRecipe

Technologies

Front end

  • React Redux
  • Materialize, CSS
  • Webpack

Back end

  • Node
  • Express
  • Bookshelf/Knex
  • MySQL
  • Passport

Testing

  • Mocha
  • Chai

Microservices

Development

  1. Start and login to your MySql server

    $ mysql.server start
    $ mysql -u root -p
  2. Create saffron database

    $ create database saffron;
  3. Run server to create database

    $ nodemon server/server.js
  4. Seed database

    $ node server/db/seedData/seed.js
  5. Start webpack

    $ webpack -w
  6. Navigate to http://127.0.0.1:8888 in a browser to access the client app.

Installing Dependencies

From within the root directory:

$ sudo npm install -g bower
$ npm install

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

This project is licensed under the MIT License - see the LICENSE.md file for details