Hi, I have an project to do. I have detailed guide line which I will paste underneath. What is important for me is the way that the project will be delivered in such a manner, that I could make clear commits to GitHub . Please let me know if you think you can deliver that. Also upon submission of the project I might have to do some changes suggested by a school mentor. Below is a description of the project:
CREATE AN ONLINE COOKBOOK:
Create a web application that allows users to store and easily access cooking recipes
Put some effort into designing a database schema based on recipes, and any other related properties and entities (e.g. views, upvotes, ingredients, recipe authors, allergens, author’s country of origin, cuisine etc…). Make sure to put some thought into the relationships between them, and use either foreign keys (in the case of a relational database) or nesting (in the case of a document store) to connect these pieces of data
Create the backend code and frontend form to allow users to add new recipes to the site (at least a basic one, if you haven’t taken the frontend course)
Create the backend code to group and summarise the recipes on the site, based on their attributes such as cuisine, country of origin, allergens, ingredients, etc. and a frontend page to show this summary, and make the categories clickable to drill down into a filtered view based on that category. This frontend page can be as simple or as complex as you’d like; you can use a Python library such as matplotlib, or a JS library such as d3/dc (that you learned about if you took the frontend modules) for visualisation
Create the backend code to retrieve a list of recipes, filtered based on various criteria (e.g. allergens, cuisine, etc…) and order them based on some reasonable aspect (e.g. number of views or upvotes). Create a frontend page to display these, and to show some summary statistics around the list (e.g. number of matching recipes, number of new recipes. Optionally, add support for pagination, when the number of results is large
Create a detailed view for each recipes, that would just show all attributes for that recipe, and the full preparation instructions
Allow for editing and deleting of the recipe records, either on separate pages, or built into the list/detail pages
Optionally, you may choose to add basic user registration and authentication to the site.
Whenever possible, strive to use semantic HTML5 elements to structure your HTML code better.
The website must be data-driven and can rely on structured data, unstructured data or a mix of structured and unstructured data.
CRUD operations can be carried out using either SQL (e.g. MySQL/Postgres) or NoSQL (e.g. MongoDB). Note that while SQLite can be useful for the development phase, it is not suitable for deployment to Heroku.
Use Flask, a micro-framework, to run your application. Provide instructions on how to run your project locally in your README.
Make sure your site is as responsive as possible. You can test this by checking the site on different screen sizes and browsers.
Share details of how you created your database schema in your README. Consider sharing working drafts or finalised versions of your database schema in a 'Database Schema' folder in your repo. Provide a link to this folder in your README.
We advise that you write down user stories and create wireframes/mockups before embarking on full-blown development.
The site can also make use of CSS frameworks such as Bootstrap, just make sure you maintain a clear separation between the library code and your code.
Use Git & GitHub for version control. Each new piece of functionality should be in a separate commit.
Deploy the final version of your code to a hosting platform such as Heroku.