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.
Artwork Listing and Bidding: At the heart of Uptown Gallery is the ability for users to list and bid on artwork. This feature democratizes the art acquisition process, making it accessible and engaging for a broad audience of art lovers.
Admin-Controlled Curation: Our platform ensures the quality and authenticity of art pieces through a robust backend approval process. Admins have the capability to control and curate the artwork listed on the website, maintaining high standards and a diverse collection.
Admins are the curators and gatekeepers of the Uptown Gallery platform. Their primary role is to oversee and manage the listing of artwork, ensuring that each piece aligns with the gallery's standards and aesthetic. They possess a keen eye for quality and authenticity, and are responsible for maintaining the integrity and diversity of the art collections on the site. Admins facilitate a smooth, secure, and engaging experience for all users, handling the backend processes and making executive decisions about the content and functionality of the website.
Bidders are art enthusiasts and collectors, ranging from seasoned connoisseurs to newcomers in the art world. They are attracted to the platform for its diverse collection of urban modern art and the exciting opportunity to acquire unique pieces through the bidding process. Bidders appreciate the accessibility and convenience of online bidding, and they contribute to the vibrant community of the gallery through their participation and engagement. They value transparency, authenticity, and the thrill of discovering new artists and artworks.
Artists are the creative force behind Uptown Gallery, offering a window into the contemporary urban art scene. They are both creators and participants in the marketplace, listing their own artworks for sale and engaging with other artists and bidders. Artists on the platform are diverse in their styles and backgrounds, ranging from emerging talents to established names in the modern art scene. They seek a platform that not only showcases their work to a wider audience but also allows them to connect with fellow artists and art enthusiasts.
Note: The roles of Bidder and Artist are fluid on Uptown Gallery, with many users participating as both. This dual role fosters a rich, interactive community where users can experience the full spectrum of art appreciation, from creation to collection.The website is designed in such a way that Artists cannot Bid on their Artwork
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Github's issues, issue labels, milestones and project management board was used to help me track and organise the work in this project:
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:
Please refer to the FEATURES.md file for all features-related documentation.
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 |
Please refer to the TESTING.md file for all test-related documentation.
The website was deployed to Heroku.
The database was deployed to ElephantSQL.
This website can be found here link.
Please refer to the DEPLOYMENT.md file for all deployment-related documentation.