The goal of this project is to build a
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 |
- 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
- PostgreSQL
- A powerful, open source object-relational database.
- sqlite3
- Default database created with Django used for app development on localhost.
- 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.
- 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
- Code Institute Course material