Skip to content

Code Institute Full Stack Frameworks with Django mini project: Boutique Ado

Notifications You must be signed in to change notification settings

simonjvardy/boutique_ado_v1

Repository files navigation

CI logo

Boutique Ado screenshot

Contents


UX (User Experience)

Project Goals

The goal of this project is to build a

User Stories

User Story ID AS A / AN I WANT TO BE ABLE TO... SO THAT I CAN...
Viewing and Navigation
1 Shopper View a list of products Select some to purchase
2 Shopper View a specific category of products Quickly find product's I'm interested in without having to search through all products
3 Shopper View individual product details Identify the price, description, product rating, product image and available sizes
4 Shopper Quickly identify deals, clearance items and special offers Take advantage of special savings on products I'd like to purchase
5 Shopper Easily view the total of my purchases at any time Avoid spending too much
Registration & User Accounts
6 Site User Easily register for an account Have a personal account and be able to view my profile
7 Site User Easily login or logout Access my personal account information
8 Site User Easily recover my password in case I forget it Recover access to my account
9 Site User Receive an email confirmation after registering Verify that my account registration was successful
10 Site User Have a personalised user profile View my personal order history and order confirmations and save my payment information
Sorting & Searching
11 Shopper Sort the list of available products Easily identify the best rated, best priced and categorically sorted products
12 Shopper Sort a specific category of product Find the best-priced or best-rated product in a specific category or sort the products in that category by name
13 Shopper Sort multiple categories of products simultaneously Find the best-priced or best-rated products across broad categories, such as "clothing" or "homeware"
14 Shopper Search for a product by name or description Find a specific product I'd like to purchase
15 Shopper Easily see what I've searched for and the number of results Quickly decide whether the product I want is available
Purchasing & Checkout
16 Shopper Easily select the size and quamtity of a poduct when purchasing it Ensure I don't accidentally select the wrong product, quantity or size
17 Shopper View items in my shopping bag to be purchased Identify the total cost of my purchase and all items I will receive
18 Shopper Adjust the quantity of individual items in my bag Easily make changes to my purchase before checkout
19 Shopper Easily enter my payment information Checkout easily with no hassles
20 Shopper Feel my personal and payment information is secure Confidently provide the needed information to make a purchase
21 Shopper View an order confirmation after checkout Verify I have I haven't made any mistakes
22 Shopper Receive an email confirmation after checking out Keep the confirmation of what I've purchased for my records
Admin & Store Management
23 Store Owner Add a product Add new items to my store
24 Store Owner Edit / update a product Change product prices, descriptions, images,and other product criteria
25 Store Owner Delete a product Remove items that are no longer for sale

Back to contents


Technologies

Languages

  • Python3
    • Used to create the main application functionality
  • HTML5
    • Used as the main markup language for the website content.
  • CSS3
    • Used to style the individual webpages.
  • JavaScript
    • Used to create the interactive functionality of the website

Database

  • PostgreSQL
    • A powerful, open source object-relational database.
  • sqlite3
    • Default database created with Django used for app development on localhost.

Libraries / Frameworks

  • Bootstrap5
    • Used to design a mobile-first responsive website layout.
  • Django
    • A high-level Python Web framework.
  • Django-Allauth
    • Python user authentication and login plugin for Django.
  • Stripe
    • Online payments platform used for the shopping basket functionality.
  • Green Unicorn (gunicorn)
    • Python WSGI HTTP Server for Unix used on the Heroku deployment.
  • psycopg2-binary
    • PostgreSQL database adapter for Python.
  • Pillow
    • Python Image Library image processing capabilities.
  • sqlparse
    • sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.
  • Boto3
    • AWS SDK for Python (Boto3) used to create, configure, and manage AWS S3 services.
  • jQuery
    • Used for the initialisation of the Bootstrap5 components functionality and enhance the shopping bag functionality.
  • Jinja
    • Templating language for Python.

Tools

  • Git
    • Git was used for version control by utilizing the Gitpod terminal to commit to Git and push to GitHub.
  • GitHub
    • Used to store, host and deploy the project files and source code after being pushed from Git.
  • Gitpod
    • An online IDE linked to the GitHub repository used for the majority of the code development.
  • Font-Awesome
    • Used for icons to enhance headings and add emphasis to text.
  • Heroku
    • Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
  • AWS S3
    • Amazon Simple Storage Service (Amazon S3) is an object storage service used to store the site static files

Credits

Images

Acknowledgements