Giter VIP home page Giter VIP logo

balkan-flavours's Introduction

Balkan Flavours (Recipe cookbook Project)

This project is created to put into practice the skills learned during the course, especially with the use of Flask and Mongo Db backend coding, and frontend framework called Materialize.

I decided to create a recipe app where the users will be able to see recipes, add recipes, update them and delete them. Using the CRUD calls to a Mongo database this project is very functional and working as expected. With the help of Materialize framework makes it easier for archiving good user experience. This project is made for users to view recipes, create recipes, update their own recipes, and delete their recipes.

UX

Users stories

  • Users can see recipes.
  • Users can register and create an account.
  • Users can add recipe.
  • Users can update their recipes.
  • Users can delete a recipe.
  • All visitors should be able to have all the information needed for a recipe such as ingredients, directions of cooking and of course visualy they can see how the food looks on the picture.

Features

  • Used a simple user registration, the password is encrypted using generate_password_hash function from Werkzeug Security module.
  • User can login and is able to create edit, delete his own recipe.
  • List all recipes created by the user, with the option to edit or delete the recipe.
  • Getting flash mesagges once the recipe is added, updated or deleted.
  • Carousel used with pictures and external links which direct the user to a full recipe ingredients and directions of cooking.
  • Able to see the most viewed recipes.

Technologies

  • Python3

  • HTML5

  • CSS /Materialize

  • JS / JQuery

  • Mongo

  • Flask

Testing

  • I have been doing testing manualy and everything is working as expected , everything is functional and app runing without errors. When i click on home page i can see pictures and recipes, im able to add, edit or delete recipe. If an admin login in they can see recipes they can add recipes, edit them or delete them, also they can add categories. So all CRUD funcionality is working as expected.

  • I used W3C Markup Validator for testing. All the pages passing without errors.

Deployment

The project is hosted on Heroku. For it to run correctly the following is required:

A Procfile that instructs Heroku how to run the app.

requirements.txt. This file informs Heroku what dependencies are required to run the app correctly. It is created by typing on the terminal pip freeze > requirements.txt.

Create a new app in Heroku

Setup in Heroku the environment variables required to successfully run the app in Settings, Config Vars.

  • MONGO_DBNAME
  • MONGO_URI
  • SECRET_KEY
  • PORT
  • IP

Connect Heroku to the project's repository on Github and setup automatic deployment. Heroku then will build a new version of the app every time a new deployment is pushed to Github.

Happy coding!

balkan-flavours's People

Contributors

xhulja14 avatar

Watchers

James Cloos 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.