A feature-rich eBay-like e-commerce auction site where users can post listings, place bids, comment on listings, and manage a watchlist.
- Listings: Create, view, and close auction listings.
- Bidding: Real-time validation for bid amounts.
- Watchlist: Add/remove items to a personal watchlist.
- Categories: Filter listings by category.
- Admin Interface: Full control over users, listings, and comments.
To follow industry best practices, this project uses environment variables to manage sensitive data. The SECRET_KEY and DEBUG mode are handled via a .env file, which is excluded from version control for security.
git clone [https://github.com/thoughts-cell/auction-project](https://github.com/thoughts-cell/auction-project)
cd ./auction-project/commerce/On Windows:
py -m pip install -r requirements.txtOr if python is in your PATH:
python -m pip install -r requirements.txtOn macOS/Linux:
python3 -m pip install -r requirements.txt(Note: Ensure python-dotenv is installed as it is required to read the configuration.)
I have included a helper script to make setup easier. Run the following command to automatically generate a secure SECRET_KEY and create your local .env file:
On Windows:
py setup_env.pyOr if python is in your PATH:
python setup_env.pyOn macOS/Linux:
python3 setup_env.pyApply the migrations to initialize the SQLite database. This will automatically create the database schema and populate 8 default categories:
First, create the migrations:
py manage.py makemigrationsThen, apply the migrations:
py manage.py migrateDefault Categories: Electronics, Fashion, Home & Garden, Sports & Outdoors, Toys & Games, Books, Music, and Art & Collectibles.
python manage.py runserver
Visit http://127.0.0.1:8000/ in your browser.