This is the course project for EECS4413, is an e-commerce website utilizing React, Django and MySQL database. It provides several functions such as product display, shopping cart and order viewing.
- User management: This module is responsible for viewing, modifying, creating, deleting, and disabling users.
- Cart: This module is responsible for processing the user's shopping cart content. Users can modify the quantity or delete the product on the cart page.
- Checkout: This module is responsible for processing the payment method, shipping address, and completing the submission and confirmation of orders.
- Product Information Management: This module is responsible for storing and managing various data of products, such as names, prices, classifications, descriptions, images, inventory, etc., as well as providing search, filtering, sorting, and other functions for products.
- Order Management: This module is responsible for tracking and processing the user's order status, such as processing, delivered, canceled, etc.
To install and run this project on your local machine, you need to have Python and Node.js on your computer, as well as the following packages:
- Django:
pip install django
- Django Rest Framework:
pip install djangorestframework
- Djoser:
pip install djoser
- Django filter:
pip install django-filter
- Corsheader:
pip install django-cors-headers
- mysqlclient:
pip install mysqlclient
Then, follow these steps:
- Clone this repository to your machine, you can use the following command:
git clone https://github.com/leidZhang/EECS4413Project.git
- Go to ereact folder to start the frontend:
cd ereact
npm start
- Open another console, go to edjango folder to start the backend:
cd edjango
python manage.py runserver
- Once the frontend and the backend are running, you can enjoy this project.
front-end url:http://localhost:3000/
back-end url:http://localhost:8000/
To use the django administration http://localhost:8000/admin
, you need to log in with a username and password. You can use the following:
Username: admin
Password: 000000
Alternatively, you can create your own supperuser with the command python manage.py createsupperuser
Note:
- Before the first time starting the React frontend, the follow command have to be run on the console to install the dependencies:
cd ereact
npm install
- Before the first time starting the Django backend, the following steps have to be done:
i. Create a new schema called ecommerce
ii. Go to edjango folder and migrate the model withpython manage.py makemigrations
andpython manage.py migrate
iii. Import data from theecommerce.sql
in the sql folder
Base URL: http://localhost:8000
Login: /auth/token/login
Logout: /auth/token/logout
Customer Register: /auth/users/
Customer Information: /api/identity/user-info
Products (pagination): /api/data-access/products
Products (full list): /api/data-access/products/all
Product Detail: /api/data-access/products/:id
Brands: /api/data-access/brands
Category: /api/data-access/categories
Order History: /api/ordering/orders
Order Detail" /api/ordering/orders/:id
Order Items: /api/ordering/orders/:id/items
Cart: /api/shopping-cart/cart
Cart Items: /api/shopping-cart/cart/items
Cart Item (Specific item): /api/shopping-cart/cart/items/:id
Inventory List: /api/catalog/inventory
Inventory (Specific inventory): /api/catalog/inventory/:id
This project is licensed under the Apache-2.0 license - see the LICENSE file for details.