Veggie Visionaries was my first introduction to Back-End technologies using Python, the framework Flask and the non-relational database software MongoDB.
As a vegetarian, I wanted to create website to share delicious meat-free recipes as well as to demonstrate to visitors that a vegetarian diet can be delicious, varied and well balanced.
A recipe website was a perfect fit to learn and practise database manipulation and CRUD (Create, Read, Update, Delete) operations. Users can create accounts and add their own custom recipes to the website to be viewed by anyone. A user can also update/delete recipes they have added, completing the CRUD set.
- User Registration/Login using session cookies
- User controlled dynamic database sorting/filtering/searching
- Logged in user can create/update/delete recipes
- Logged in user can add reviews and ratings to recipes - including dynamic average rating for each recipe
- Logged in user can add/delete a recipe from their favourites
- Pagination of recipes page
- Prevent users from reviewing their own added recipe
- Prevent users from editing/deleting a recipe that they have not created
- Admin superuser account has administrative control over all operations