This project is a simple but usable online shop written with Django. The app provides a custom dashboard to manage products and orders. Users can like a product, add it to the cart, and proceed to checkout. Order processing is supported, but the payment is handled using a fake pay system.
There are two types of users in this app: regular users and managers.
- Cart: Users can manage items in their cart.
- Edit Personal Information: Users can update their personal details.
- Orders: Users can view their order history.
- Favorites: Users can like and save their favorite products.
- Reset Password: Users can reset their password using their registered email.
Managers can access all the features available to regular users, along with additional capabilities, through the custom dashboard accessible at http://127.0.0.1:8000/accounts/login/manager.
- Add Product: Managers can add new products to the shop.
- Edit and Delete Product: Managers can modify or remove existing products.
- Add New Category: Managers have the ability to create new categories for products.
- Access to Orders: Managers can view and manage all orders and order items.
- Python 3
- Django
- Bootstrap
- SQLite3 database
- Clone or download the project to your local machine.
- Change directory to the "online-shop-django" folder.
- Ensure that you have Python 3, pip, and virtualenv installed on your machine.
- Create a virtual environment using the following command:
- For Mac and Linux:
python3 -m venv venv
- For Windows:
python -m venv venv
- For Mac and Linux:
- Activate the virtual environment:
- For Mac and Linux:
source venv/bin/activate
- For Windows:
venv\scripts\activate
- For Mac and Linux:
- Install the application requirements by running:
pip install -r requirements.txt
- Migrate the database by executing:
python manage.py migrate
- Start the server:
python manage.py runserver
- You should now be able to access the application by visiting: http://127.0.0.1:8000/
To access the custom dashboard for managers, please use the following credentials:
- Email: manager@example.com
- Password: managerpass1234
I welcome contributions to enhance and customize this project. If you would like to contribute, please follow these steps:
- Fork the repository on GitHub.
- Create a new branch with a descriptive name for your feature or bug fix.
- Make the necessary changes in your branch.
- Test your changes thoroughly.
- Commit your changes and push them to your forked repository.
- Submit a pull request, clearly describing the changes you have made.
released under the MIT License. Feel free to use, modify, and distribute it as per the terms of the license.
Feel free to explore, contribute, and customize this according to your needs!