Salewitcher / recipe_blog_django

0 stars 1 forks source link

Django Recipe Blog

The Django Recipe Blog is a web application built using the Django web framework. This app allows users to create, manage, and explore various recipes. Users can add, edit, and delete recipes, as well as upload images to accompany their culinary creations.

Screenshot of how the app looks on different screen sizes

Table Of Contents:

  1. User Stories
  2. Features
  3. Future Features
  4. Technologies Used
  5. Testing
  6. Deployment
  7. Credits

User Stories

User stories define the functionality and features of the Recipe Blog app from the end-users' perspective:

Features

Future Features

There are a few features that I would like to implement in future releases:

Technologies Used

Testing

PEP8 Testing Screenshots

CI Python Linter CI Python Linter CI Python Linter CI Python Linter CI Python Linter

Lighthouse Testing Screenshots

Lighthouse Mobile Test Lighthouse Desktop Test

User Story Testing

User Registration and Login

Recipe Creation

Recipe Editing and Deletion

Manual Testing

Feature Test Performed Result
Recipe Creation Users can create a new recipe. Pass
Recipe Editing Users can edit an existing recipe. Pass
Recipe Deletion Users can delete a recipe. Pass
Image Upload Users can upload an image when creating or editing a recipe. Pass
Search Functionality Users can search for recipes by title or ingredients. Pass
Responsiveness The app layout adjusts according to device size. Pass

Automated Testing

Automated tests were created using Django's test framework:

Deployment

The app was deployed to Heroku using the following steps:

  1. Create Repository on GitHub:

    • Set up a new repository using the Django template and clone it locally.
  2. Install Dependencies:

    • Install required dependencies including Django, Pillow, and others listed in requirements.txt.
  3. Create Heroku App:

    • Log in to Heroku, create a new app, and connect it to the GitHub repository.
  4. Set Environment Variables:

    • Configure environment variables for sensitive data such as SECRET_KEY and DATABASE_URL.
  5. Deploy to Heroku:

    • Deploy the app from the main branch of your GitHub repository.
  6. Migrate Database:

    • Run database migrations on Heroku to set up the database schema.
  7. Collect Static Files:

    • Use python manage.py collectstatic to collect static files for deployment.

Credits