Git Product home page Git Product logo

sphinx-auctions's Introduction

Sphinx Auctions

Overview

This project is my submission for the Commerce project, part of Harvard University's CS50W course: Web Programming with Python and JavaScript. The goal was to design an eBay-like e-commerce auction site that allows users to post auction listings, place bids, comment on listings, and add listings to a "watchlist."

Features

  • Active Listings Page: A dynamic overview of all active auction listings, displaying essential details such as title, description, current price, and image if available.
  • Listing Page: Detailed view of a listing, including functionality for bidding, commenting, and watchlist management. Listing creators can close auctions, and winners are notified on this page.
  • User Registration and Authentication: Enabling personalized experiences such as bidding, commenting, and watchlist management.
  • Create Listing: Users can create new auction listings with titles, descriptions, starting bids, optional images, and category.
  • Watchlist: Users can add or remove listings from a personal watchlist, with easy navigation to their watched auctions.
  • Categories: Categorized listings for easier navigation and discovery based on interests.
  • Django Admin Interface: An admin interface for site administrators to manage listings, comments, and bids.

Prerequisites

  • Python
  • Django
  • Git (Optional)

Ensure you have Python and Django installed on your system. If not, follow the instructions on Python's official website and Django's documentation to get them installed.

Getting Started

  1. Clone the repo or download the zip file.
  2. cd Sphinx-Auctions
  3. Run python manage.py makemigrations auctions to make migrations for the auctions app.
  4. Execute python manage.py migrate to apply migrations to the database.
  5. Start the development server with python manage.py runserver and visit http://127.0.0.1:8000/ in your web browser.

Technologies

  • Frontend: HTML, Bootsrap
  • Backend: Django (Python)
  • Database: SQLite (Django's default database)

Project Structure

  • auctions/: Django app containing models, views, templates, and URL configurations for the auction functionality.
  • commerce/: Project directory with settings and root URL configurations.

Models

  • User: Inherits from `AbstractUser.
  • Listing: Represents auction listings with fields for title, description, starting bid, image URL, and category.
  • Category: Represents different categories under which listings can be classified (e.g., Electronics, Fashion, Home).
  • Bid: Tracks bids on auction listings, including bid amount and the user who placed the bid.
  • Comment: Allows users to comment on listings, with fields for the comment text and associated listing.
  • Watchlist: Represents the user's watchlist, containing references to the User model and the Listing model.

How to Contribute

This project is part of my coursework and is not currently open for external contributions. Feedback and suggestions are welcome.

Acknowledgments

  • Project idea and specifications provided by CS50W.
  • Inspiration from eBay for auction and bidding features.

sphinx-auctions's People

Contributors

shefaabi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.