emidombek / uptowngallery

HTML, CSS, JavaScript, Python+Django based website for a small art gallery business deployed to Heroku
1 stars 2 forks source link

Uptown Gallery Readme πŸ“š

Devices Preview

Link to Live Site Here

πŸ€” What is the Uptown Gallery Website?

Uptown Gallery is a vibrant and contemporary online platform dedicated to the world of urban modern art. This website serves as a dynamic space where art enthusiasts and collectors converge to discover, list, and bid on exquisite pieces of modern artwork.

⭐ Purpose and Goals of the Website

πŸ™‹ Target Audience

πŸ§‘ User stories

πŸ‘¨β€πŸŽ€ Buyer Product Backlog Milestone

Buyer Browse Art

Issue ID User Story
#10 As a As a buyer,I want to browse through available artworks.So that I can select one for purchase or to bid on.

Buyer Place Bid

Issue ID User Story
#11 As a buyer,I want to place bids on artworks in the auction. So that I can win the auction.

Buyer Profile

Issue ID User Story
#13 As a buyer,I want to be able to view my buying/bidding history in my profile.So that I can keep track of my bids.

πŸ§‘β€πŸŽ¨ Seller/Artist Product Backlog Milestone

Seller Create Art Listing

Issue ID User Story
#15 As a seller, I want to create listings for artworks that I want to sell.So that I can sell my work through the website.

Seller Set Reserve/Starting Price

Issue ID User Story
#16 As a seller,I want to set starting bids and reserve prices for auction artworks.So that I can ensure my artwork sells for a reasonable price.

Seller Profile

Issue ID User Story
#17 As a seller,I want to view the status of my listed artworks and their auction results in a 'Seller Profile' section.So that I can manage my sales more efficiently.

πŸ§™ Admin Product Backlog Milestone

Admin Art Listing Approval

Issue ID User Story
#19 As an admin, I want to approve or reject artworks listed for auction/sale. So that I curate the art that my gallery sells.

Admin User Account Control

Issue ID User Story
#20 As an admin, I want to manage user accounts and their roles (buyer/seller, admin).So that I am able to control my website and permissions on it.

πŸ–Œ UX,Design and Layout

πŸ–± UX Concept

Devices Preview

🌊 User Type Flowcharts

πŸ–₯ Technology

✍ Agile Methodology

Github's issues, issue labels, milestones and project management board was used to help me track and organise the work in this project:

πŸ’Ž Milestones

The issues where orgnaised into Milestones and custom labels where create to add context and detail to each issue and it's status :

And then displayed on my Project Management Board:

Sorted by Issue Status and Milestone, clicking into the issue allowed for viewing labels and updating them:

✨ Features

Please refer to the FEATURES.md file for all features-related documentation.

πŸ”’ Information Architecture

πŸ—‚ Database

Database Schema ERD Diagram

πŸͺ„ Data Modeling

UserProfile

Field Type Description
user OneToOneField Linked to Django's User model
name CharField The name of the user
shipping_address CharField The shipping address of the user
create_date DateTimeField The date when the user profile was created

Artwork Model

Field Type Description
id AutoField Primary key
artist ForeignKey Linked to UserProfile
create_date DateTimeField The date when the artwork was created
title CharField The title of the artwork
description TextField Description of the artwork
image CloudinaryField Image of the artwork
category CharField Category of the artwork
approved BooleanField Approval status of the artwork
approval_status CharField Detailed approval status (pending, approved, rejected)
auction_start DateTimeField Start date of the auction
auction_duration CharField Duration of the auction
reserve_price DecimalField Minimum price for the artwork

Auction Model

Field Type Description
id AutoField Primary key
artwork ForeignKey Linked to Artwork model
create_date DateTimeField The date when the auction was created
status CharField Current status of the auction
is_active BooleanField Active status of the auction
end_date DateTimeField End date of the auction
duration CharField Duration of the auction
reserve_price IntegerField Minimum price for the artwork

Bids Model

Field Type Description
id AutoField Primary key
bidder ForeignKey Linked to UserProfile model
auction ForeignKey Linked to Auction model
amount DecimalField Amount of the bid
bid_time DateTimeField Date and time when the bid was placed

πŸ“ Testing

Please refer to the TESTING.md file for all test-related documentation.

πŸš€ Deployment

Please refer to the DEPLOYMENT.md file for all deployment-related documentation.

🌟Credits

πŸ† Acknowledgments