A simple eCommerce application built with Django during the Harvard CS50w course.
this application have three models in addition to the built-in User model:
- Listing
- Bid
- Comment
- Users can create new listings.
- Required:
- Title
- Description (text-based)
- Starting Bid
- Optional:
- Image URL
- Category (e.g., Fashion, Toys, Electronics, Home, etc.)
- Default route.
- Displays all currently active auction listings.
- Each listing should include:
- Title
- Description
- Current Price
- Image (if available)
When clicking on a listing:
- Display all details:
- Title, Description, Image, Starting Bid, and Current Price
- If user is signed in:
- ✅ Can add to Watchlist / remove from Watchlist
- 💰 Can place a Bid
- Bid must:
- Be ≥ starting bid
- Be > all previous bids
- Otherwise, show an error
- Bid must:
- 🏁 If user is the creator, they can close the auction
- Highest bidder becomes the winner
- Listing is no longer active
- 🎉 If the user won the closed auction, display a message
- 💬 Can add comments
- All comments are shown on the listing page
- Signed-in users can view their Watchlist.
- Displays all listings the user added.
- Clicking a listing redirects to its page.
- Users can visit a Categories page.
- Lists all available listing categories.
- Clicking a category shows all active listings in that category.
Via Django Admin:
- Admins can:
- View / Add / Edit / Delete:
- Listings
- Bids
- Comments
- View / Add / Edit / Delete:
Follow these steps to set up and run the Django project locally:
git clone <https://github.com/guiklose/simple-e-commerce.git>
cd <simple-e-commerce>🔵 On macOS/Linux:
python3 -m venv venv
source venv/bin/activate🟢 On Windows (CMD):
python -m venv venv
venv\Scripts\activatepip install -r requirements.txtpython manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen your browser and go to: http://127.0.0.1:8000/