Giter Club home page Giter Club logo

the_communal_kitchen's Introduction

The Communal Kitchen

An online platform for home cooks to share and view their favourite recipes.

The Communal Kitchen mockup image View the live site here

Table of contents

User experience (ux)

User stories:

First time user:

As a first time user i want to:

  • Understand the use of the site and what it is about.
  • Register an account
  • View recipies other people posted
  • Open recipe cards to reveal the full recipe and steps
  • Be able to search recipes by ingredient and recipe name.

Returning user:

  • Log back into my pre registered account
  • Add my own recipies using an intuitive form.
  • Once recipes have been added be able to make updates to my pre exisiting recipes
  • Delete my own recipies.

Design

Color scheme

Color Scheme

Fonts

The two fonts used were from google fonts the main one being 'Prata' with serif being used as a backup and the second one being 'Montserrat' with sans serif being used as a back up.

Mockup

Desktop

Wireframes Wireframes Wireframes

Mobile

Wireframes

Data Schema

DataSchema

Technologies Used

Languages Used

  • HTML5
    • HTML5 was used to structure the site.
  • CSS3
    • CSS3 was used for responsive design and html styling.
  • Javascript
    • Javascript was used to append form lines and initialize materialize fucntions
  • Python
    • Python was used to connect to the site to the Mongo.db site and to render templates throughout the site.
  • Jinja
    • Template code was written using Jinja.

Frameworks, Libraries & Programs Used

  1. Materialize css 0.100.2:
    • Materialize was used throughout the project for quick construction of forms, dropdowns, responsivity and layout.
  2. Flask:
    • Used to render templates throughout the app.py.
  3. Google Fonts:
    • Google fonts was used with materialize to import them.
  4. jQuery:
    • jQuery Used among other things in script file to initialze materialize scripts.
  5. dbdiagram
    • To design the database schema.
  6. Git
    • Git was used for version control by utilizing the terminal.
  7. GitHub:
    • GitHub is used to store the projects code and assets and to fork the project.
  8. Adobe XD:
    • Adobe XD was used to create the mockups.
  9. Werkzeug
    • To encrypt the users passwords.
  10. MongoDB:
    • MongoDB was used to create the Database of users and recipes.
  11. Heroku:
    • Heroku was used to deploy the app.
  12. Jpeg Optimizer
    • Jpeg Optimizer was used to compress the hero image to usable size.
  13. dbdiagram
    • To design the database schema.

Testing

All testing can be found here.

Deployment and cloning

Clone this repository:

In linux:

To find the link, go to the "code" dropdown menu in this repository. Click the clipboard icon next to the url. In your terminal type:

$mkdir <jour project directory>
$git init <jour project directory> (to set up a new repository)
$git clone https://github.com/JorisPaarde/my-vegan-recipes.git

In Windows:

follow these steps.

Install all requirements through the requirements.txt file:

pip install -r requirements.txt

Create your account for MongoDB here: https://account.mongodb.com/account/register

When u are logged in:

  • Go to clusters and click create database.

  • Enter your database name.

  • Enter users.

  • Next to your new database name, click the plus sign to add the collections recipes and categories.

  • Insert the categories documents as shown in the database design

Documents for users and recipes can then be added trough the site or directly in mongo db as shown in the database design.

Your database is now ready for use.

Create your env.py file:

$touch env.py

Make sure u add this env.py file to your gitignore file! Add the folowing code to your env.py file:

import os

os.environ.setdefault("IP", "0.0.0.0")
os.environ.setdefault("PORT", "5000")
os.environ.setdefault("SECRET_KEY", "<YOUR-SECRET-KEY-HERE>")
os.environ.setdefault("MONGO_URI", "mongodb+srv://root:<MONODBPASSWORD>@cluster0.ajvr3.mongodb.net/<DATABASENAME>?retryWrites=true&w=majority")
os.environ.setdefault("MONGO_DBNAME", "<DATABASENAME>")

Replace YOUR-SECRET-KEY-HERE, MONGODBPASSWORD, DATABASENAME according to your personal situation.

To retrieve your mongodb pasword:

Go to database access, click edit and show password:

mongodb password

Your local clone is now ready for use.

To deploy this project on Heroku:

Connect to Github

  • Select your repository and connect.

  • Go to settings, config vars and enter the variables also located in your env.py file.

Config vars

  • Go to deploy and at the bottom of the page manually deploy your main github branch

Your app is now deployed and ready to run. At the top of the page click open app to run it.

Credits

Recipes

Photos

Code

the_communal_kitchen's People

Contributors

connorgray97 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.