This project is an eCommerce application designed to provide users with a seamless shopping experience. It features a user-friendly interface, product browsing, and secure checkout processes. Built using modern technologies, the application aims to deliver high performance and scalability while ensuring an intuitive user experience.
- CRUD operation
- Authentication
- Pagination
- Image upload
This API provides various endpoints for user registration, token management, product management, and order handling. Below is a list of available endpoints:
-
Register User
- Endpoint:
POST /api/user/register/
- Description: Create a new user.
- Endpoint:
-
Obtain Token
- Endpoint:
POST /api/token/
- Description: Obtain a JWT token for a user.
- Endpoint:
-
Refresh Token
- Endpoint:
POST /api/token/refresh/
- Description: Refresh a JWT token.
- Endpoint:
-
Product List & Create
- Endpoint:
GET /products/
(List),POST /product/create
- Description: Retrieve a list of products or create a new product.
- Endpoint:
-
Get All Products
- Endpoint:
GET /products/all
- Description: Retrieve a list of all products.
- Endpoint:
-
Get Product by ID
- Endpoint:
GET /product/<int:pk>/
- Description: Retrieve details of a specific product by its ID.
- Endpoint:
-
Search Products
- Endpoint:
GET /products/search/
- Description: Search for products based on query parameters.
- Endpoint:
-
Order List & Create
- Endpoint:
GET /orders/
(List),POST /order/create
- Description: Retrieve a list of orders or create a new order.
- Endpoint:
-
Order Item List & Create
- Endpoint:
POST /order/create
- Description: Create a new order item.
- Endpoint:
- API Authentication
- Endpoint:
GET /api-auth/
- Description: Obtain authentication for the API.
- Endpoint:
- Admin Panel
- Endpoint:
GET /admin/
- Description: Access the Django admin panel.
- Endpoint:
Clone the project
git clone -b optimized https://github.com/Beki78/E-commerce_Product_API.git
Go to the project directory
cd cd E-commerce_Product_API
Install dependencies
cd client
npm install
npm run dev
Start the server
cd server
python -m venv venv
venv\Scripts\activate # Activate the virtual environment on Windows
source venv/bin/activate # Activate the virtual environment on Linux or macOS
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Client: React Typescript, Tailwind CSS, Redux-Toolkit, Redux-Saga
Server: Sqlite, Django
Deployment: FrontEnd - Netlify, BackEnd - PythonAnywhere