This is a full-stack web application that allows users to create, bid on, and close auctions for various items. Users can register, log in, add listings, place bids, and manage their watchlists. The platform provides an engaging experience for online bidding with real-time updates.
- User Authentication: Users can register, log in, and log out.
- Auction Listings: Users can create new auction listings with a title, description, image URL, and starting bid.
- Bidding System: Users can place bids on active auctions.
- Watchlist: Users can add and remove listings from their watchlist.
- Auction Closing: The auction creator can close the auction, determining the highest bidder as the winner.
- Real-Time Updates: The application uses Django channels for real-time notifications.
- Backend: Django (Python)
- Frontend: HTML, CSS, JavaScript (with Bootstrap and React)
- Database: SQLite (default) or PostgreSQL
- Authentication: Django built-in authentication system
- WebSockets: Django Channels for real-time updates
- Python 3.x
- Django
- Virtual Environment (optional but recommended)
- Clone the repository:
git clone https://github.com/yourusername/ecommerce-auction.git cd ecommerce-auction - Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py migrate
- Create a superuser (for admin access):
Follow the prompts to set up an admin user.
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Open your browser and go to
http://127.0.0.1:8000/to use the application.
- Register/Login: Create an account or log in.
- Create a Listing: Fill out the form to list an item for auction.
- Bid on Items: View active listings and place bids.
- Manage Watchlist: Add/remove items from your watchlist.
- Close Auctions: If you created a listing, you can close the auction to declare a winner.
- Fork the repository.
- Create a new branch:
git checkout -b feature-name - Make your changes and commit them:
git commit -m 'Add new feature' - Push to your branch:
git push origin feature-name - Submit a pull request.
This project is licensed under the MIT License. Feel free to modify and use it as you wish.
For any questions, feel free to reach out via GitHub Issues or email: KristopherPoston@example.com