Magical Realm eBay is a Django-powered marketplace for magical items, designed as a learning project to explore the capabilities of Django while creating an engaging platform for virtual trading. Users can register, list magical items for sale, browse categories, manage shopping carts, and purchase items.
- User Authentication: Register, log in, log out, and manage profiles.
- Magical Items: Create, view, and manage listings for magical items.
- Categories: Browse items by categories like Potions, Weapons, etc.
- Shopping Cart: Add items to the cart, view the cart, and purchase items.
- Dynamic UI: Styled with Bootstrap and custom CSS for a responsive, clean interface.
- Validation: Custom validators for user age and phone number.
- Messages: Feedback to users during operations like profile updates, purchases, etc.
magical_realm_ebay/
├── accounts/ # User authentication and profiles
├── items/ # Magical item management
├── marketplace/ # Homepage, search, and category views
├── shopping_carts/ # Shopping cart functionality
├── static/ # CSS, images, and other static files
├── templates/ # Base and shared templates
└── manage.py # Django management script
This project uses the following Python dependencies:
asgiref==3.8.1crispy-bootstrap5==2024.10Django==5.1.3django-crispy-forms==2.3django-profanity-filter==0.2.1inflection==0.5.1pillow==11.0.0python-dotenv==1.0.1sqlparse==0.5.2typing_extensions==4.12.2
-
Clone the Repository
git clone https://github.com/<your-username>/magical_realm_ebay.git cd magical_realm_ebay
-
Set Up the Virtual Environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\\Scripts\\activate
-
Install Requirements
pip install -r requirements.txt
-
Set Up the Database
python manage.py migrate
-
Load Sample Data (Optional) Load initial data for categories and items.
python manage.py loaddata accounts/fixtures/users.json python manage.py loaddata items/fixtures/categories.json python manage.py loaddata items/fixtures/items.json
-
Run the Development Server
python manage.py runserver
-
Access the App Open your browser and navigate to http://127.0.0.1:8000.
Run tests for all apps to ensure the functionality is working as expected:
python manage.py test
The project uses a .env file for sensitive settings. Create a .env file in the root directory and add the following variables:
SECRET_KEY=your-secret-key
DEBUG=True
- Add Testing
- Add Middleware and Logging
- Add Custom Commands
- Add transactional email notifications.
- Integrate payment gateway simulation.
- Add search filtering by item attributes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Developed as a learning project for Django.
- Inspired by fantasy trading concepts from gaming.
