Skip to content

Family Supper is a recipe scrapbook app where families can record generational dishes and add memories of the meals during which they were served.

Notifications You must be signed in to change notification settings

meagan13/Family-Supper

Repository files navigation

Family Supper

Family Supper by Meagan Smith: https://family-supper.herokuapp.com

Family Supper is an app where families can preserve and share hand-written recipe cards and memories about family dishes. It is a fullstack React app with with a Redux state manager and a backend using Python, Flask, SQL-Alchemy, and PostgresSQL.

Table of Contents
1. Features
2. Planning and Database
3. Installation
4. Backend Overview
5. Frontend Overview
6. Future Features
7. Contact Information
8. Special Thanks

Features

Sign In, Sign Up, and Demo

  • All users have the option to sign into an existing account or to create an account.
  • The Demo option gives the user full access to the site without having to create an account or log into the site.

signin-login-demo

Memories

  • Logged-out users are able to view all memories shared about specific recipes. They are not able to add, edit, or delete memories.
  • Logged-in users are also able to create memories from an individual recipe page. Logged-in users are able to edit or delete memories they have posted.

memory

Recipes

  • Logged-out users are able to view all recipes posted to the website by all registered users. They are not able to create, edit, or delete recipes.
  • Logged-in users are also able to create recipes, and users who create recipes can also edit or delete those recipes.

Create recipe Create ingredients Add directions

Profile

  • Logged-out users are not able to view a profile page
  • Logged-in users are able to view their user information and the recipes that they have posted in their profile.

Profile

Planning and Database

Database Schema

An image of tables and relationships can be found here.

User Stories

Family Supper offers users the opportunity to share family recipes and their memories associated with them. Learn more about the user experience here.

Wireframes

Design mock-ups of each page of Family Supper can be found here.

Technologies

Backend Overview

The backend of Family Supper was created using Flask and WTForms. Flask was an ideal choice for its compatibility with the latest technologies, proven performance, and flexibility. WTForms allows for the use of csrfProtection of user data and built-in data validations.

Backend Routes

Frontend Overview

The frontend of Family Supper was created using React and Redux to provide easy access to data store and state. Redux wraps the state in a store that listens for updates and then updates code that depends on changes in that state. React is beneficial for its ability to create re-usable components.

Frontend Routes

Installation

To build/run project locally, please follow these steps:

  1. Clone this repository
git clone https://github.com/meagan13/family-supper.git
  1. Install Pipfile dependencies and create the virtual environment
pipenv install
  1. Install npm dependencies for the /react-app
cd react-app
npm install
  1. In the / root directory, create a .env based on the .env.example with proper settings

  2. Setup your PostgreSQL user, password and database and ensure it matches your .env file

  3. Before running any flask commands, confirm you are in the pipenv virtual env. If not, run the command:

pipenv shell
  1. In the root folder, create the database by running in the terminal:
flask db create
  1. In the root folder, migrate tables to the database by running in the terminal:
flask db migrate
  1. In the root folder, seed the database by running in the terminal:
flask seed all
  1. Start the flask backend in the / root directory
flask run
  1. Start the frontend in the /react-app directory
npm start

Highlighted Code Snippets

  • next/previous buttons

Future Features

There are a number of exciting features on the horizon for Family Supper. Please visit again to find:

  • Category Filter: allows users to selected a specific category and see all recipes classified by that category
  • Edit/Delete Ingredients and Directions: users will be able to edit or delete the ingredients or directions of a recipe
  • Family Members: limit access to only members of your family, allowing for more privacy and closer sharing
  • Search Bar: search for recipes, categories, family member users, and more

Contact Information

Meagan Smith

Special Thanks

I am forever grateful to the generous and talented community of software engineers who supported me through many coding jams and face-palm moments. I am proud and honored to know you, Andrew, Henry, Pierre, Lema, Simon, Michelle, Nico, John, Manna, Monte, Jacob, Daniel, Jubin, Irina, Justice, Torrell, and Kagen.

To my incredible husband and partner in life, Josh Fletcher. Thank you for believing in me, being patient with me, and strongly encouraging me to "go on an' git". You're my favorite.

To my parents, grandparents, and mother-in-law who stand alongside me during my wins and my losses time and time again. Thank you for your love and your example.

About

Family Supper is a recipe scrapbook app where families can record generational dishes and add memories of the meals during which they were served.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages