Giter Club home page Giter Club logo

data-centric-assignment's Introduction

Online Cookbook

This is a website for user-generated content. Specifically, users or authors can upload cooking recipes and the combination of all these uploads will form an online cookbook. In addition, the users can update or delete recipes on this website.

Demo

A live demo can be found here.

UX

My goal in the design was a single-page application. I wanted to present all the recipes in one page, the home page. Users who wanted to find out more about a recipe can click on the ‘Show Recipe’ button to open a modal which will show the information. This modal functions like a pop-up box which can be easily closed so that the user will not need to navigate away from the home page. The information to be presented to the user and the database relations is based on the ‘Cookbook ER Diagramme.pdf’ file in the main directory of this ‘data-centric-assignment’ Cloud9 workspace. The user can also search for recipes by their names using the search bar in the ‘Search for Recipe’ page.

Existing Features

-There is a modal button for each recipe, called ‘Show Recipe’, in the ‘Home’ page and the ‘Search for Recipe’ page so that the user can click on it to open up a pop-up box to show more information about the recipe.

  • There is a search bar in in the ‘Search for Recipe’ page for the user to key in a recipe name which he or she wants to find. The user will be able to see the search results after keying in and clicking on the ‘Search’ button below the search bar.

Features Left to Implement

  • Allowing users to upload image(s) of their respective recipe(s).

Technologies Used

  1. HTML
  • For structuring the website, e.g. adding content to the website.
  1. CSS
  • For styling the website, e.g. text alignment.
  1. Bootstrap (Version 4)
  • The project uses Bootstrap to create mobile-responsive web pages.

Testing

Python assertions were used to test the code automatically. The Python assert statements can be found in the ‘asserts.py’ file in the main directory of this ‘data-centric-assignment’ Cloud9 workspace. Where Python assertions were not done, manual tests were done. For example, to test the mobile responsiveness of this website, different screen sizes were used to view the website. For example, a mobile phone screen size was used to test a small view and a desktop computer screen size was used to test a big view. In another example, a user trying a to add a recipe on the website would need to key in information for the blank fields such as ‘Recipe Name’ because they are required fields. Submitting the recipe without filling in the blank fields would cause an error message to appear. Successful submission of the recipe will redirect the user to the ‘Home’ page of the website.

Deployment

This project was deployed to Heroku. A person who wants to run this code locally can clone or download this repository from https://github.com/AlexLimWY/data-centric-assignment.git and paste it into their editor terminal.

Credits

Content

Media

  • The image for Chinese Roast Chicken was taken from RASAMALAYISA
  • The image for Onion Scallion Beef was taken from RASAMALAYISA
  • The image for Braised Pork Belly in Soy Sauce (Tau Yew Bak) was taken from RASAMALAYISA
  • The image for Sweet, sour, & spicy Korean fried chicken was taken from Maangchi
  • The image for Braised beef short ribs was taken from Maangchi
  • The image for Dumplings was taken from Maangchi
  • The image for Chicken Karaage was taken from Japan Food Addict
  • The image for Beef Bowl was taken from Japan Food Addict
  • The image for Katsudon was taken from Japan Food Addict

Acknowledgements

  • I was inspired to produce an online cookbook because I like to try different kinds of food. I also believe that people from all over the world should their recipes with one another so that we can improve recipes and the cooking community can benefit as a whole.

data-centric-assignment's People

Contributors

alexlimwy 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.