This project is an e-commerce website created for practice purposes and is currently available as a test version at magnusshop.ir.
First, clone the project from GitHub:
git clone https://github.com/AliMRBS/magnusshop_project.gitBefore installing dependencies, it is recommended to create a virtual environment.
python -m venv venv
venv\Scripts\activateTo install the required dependencies, run the following command:
pip install -r requirements.txt- Windows: Download and install Redis for Windows
- Windows: Run
redis-server.exe
To use PostgreSQL as the database, you need to install it on your system.
- Windows: Download and install PostgreSQL
After installing PostgreSQL, create a new database and user:
- Open the terminal and enter PostgreSQL:
psql -U postgres- Create a database:
CREATE DATABASE magnusshop;- Create a user:
CREATE USER magnususer WITH PASSWORD 'yourpassword';- Grant privileges to the user:
GRANT ALL PRIVILEGES ON DATABASE magnusshop TO magnususer;In the settings.py file, update the database section as follows:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'magnusshop',
'USER': 'magnususer',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}To explore all the website's features, a ms_backup.sql file is provided in the project directory. To import it, run:
psql -U magnususer -d magnusshop -f ms_backup.sqlTo create database tables, run the migrations:
python manage.py migrateTo access the Django admin panel:
python manage.py createsuperuserpython manage.py runserverThe project will be accessible at http://127.0.0.1:8000.
To access the admin panel: http://127.0.0.1:8000/admin
- ✅ User registration and login with email verification + temporary code for password reset and change
- 🔍 Search, view, and sort products by categories and filters
- 🛒 Add products to the shopping cart (even without login) + edit and remove products from the cart
- 🛒 Complete purchase and redirect to the Aghaye Pardakht test payment gateway (login required)
- ✍️ Submit reviews for products (only for verified users)
- ⭐ Purchase Magnus Plus monthly subscriptions
- 🏠 Manage user account information including phone number, shipping addresses, and order details
- 📦 Track order status and active subscriptions
- 📋 Manage products, categories, brands, orders, payments, reviews, and more
- Add product comments section
- Add articles section to the site
- Add product seller model
- Add authentication via SMS
- Add more payment gateways
- Add in-app wallet
- Add chat support section
- Backend: Django
- Frontend: HTML, CSS, JavaScript, Bootstrap, Tailwind CSS
- Database: PostgreSQL
- Caching: Redis
- Authentication: Customized Django built-in authentication system and email OTP verification