https://github.com/levoratojoao/commerce
eBay-like e-commerce auction site
https://github.com/levoratojoao/commerce
cs50web django python
Last synced: 2 months ago
JSON representation
eBay-like e-commerce auction site
- Host: GitHub
- URL: https://github.com/levoratojoao/commerce
- Owner: LevoratoJoao
- Created: 2023-08-02T11:43:43.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-21T22:29:33.000Z (7 months ago)
- Last Synced: 2025-02-12T14:33:02.806Z (4 months ago)
- Topics: cs50web, django, python
- Language: JavaScript
- Homepage: https://commerce-levorato.vercel.app
- Size: 854 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Commerce
This is a e-commerce auction site that will allow users to post auction listings, place bids on listings, comment on those listings, and add listings to a “watchlist.”# Installation
To use this project first you need python and django
To install django
```bash
pip3 install Django
```To run the project
```bash
python3 manage.py runserver
```If you change anything in ``àuctions/models.py``, you'll need to first run this commands to migrate those changes to your database
```bash
python3 manage.py makemigrations
``````bash
python manage.py migrate
```To create a superuser account that can access Django's admin interface
```bash
python3 manage.py createsuperuser
```# Demo
Here it is a simple usage example on YouTube: [Demo](https://youtu.be/pcUBH0xVp_k).
## Models
The application have five models: ``AuctionListings``, ``Bids``, ``Comments``, ``Category`` and ``User``.
## Create Listing
Users will be able to visit a page to create a new listing. They can specify a title for the listing, a text-based description, and what the starting bid should be. Users also optionally will be able to provide a URL for an image for the listing and a ``Category``.
## Active Listing Page
It's the default route of this web application and users can view all of the currently active auction listing. For each active listing, the page display the title, description, current price and photo.
## Listing Page
Clicking on a listing will take users to a page specific to that listing. On that page, users will be able to view all details about the listing, including the current price for the listing. If the user is signed he will have the following options:
* Add the item to their ``Watchlist``, if the item is already on the watchlist, the user will be able to remove it.
* Bid on the item, the bid must be at least as large as the starting bid, and must be greater tahn anyu other bids that have been placed. If not the user will be presented with an error.
* Add comments to the listing page. The listing page will display all comments that have been made on the listing.
* If he is signed and is the one who created the listing, he will be able to "close" the auction from this page, which makes the highest bidder the winner of the auction and makes the listing no longer active. The page will inform the user who has won when he enters the page.## Watchlist
Users who are signed in can visit a Watchlist page, which will display all of the listings that a user had added to their watchlist. Clicking on any of those listings should take the user to that listing's page.
## Categories
Users can visit a page that displays a list of all listing categories. Clicking on the name of any category will take the user to a page that displays all of the active listing in that category.## Django Admin Interface
Via the Django admin interface, a site administrator will be able to view, add, edit and delete any listings, comments and bids made on the site