Porto Shopping Mall API is an eCommerce store API that allows different software applications to communicate and interact with their platform. This API enables the exchange of data and functionality (such as product, inventory, cart, and customer management, order processing, etc) between their store and other systems, such as mobile apps, third-party software, payment gateways, and more.
- Register user
- Login user
- Change password
- Password reset request
- Password reset confirmation
- Refresh token
- Logout user
- Current user profile
- Update user profile
- Create product
- Upload product image
- Delete product
- Update product
- List all products
- Get single product
- Search products
- Filter products
- Create order
- Get all orders
- Get single order
- Delete order
- Make payment
- Process order
- Create product review
- Update product review
- Delete product review
- Django
- Django Rest Framework
- JWT Authentication
- Mailtrap
- Stripe
- Amazon S3
- Postgres
- Github Actions (Continuous Integration/Continuous Deployment)
- Digital Ocean
- DRF-YASG (API Documentation)
- Insomnia
https://porto-shopping-mall-api-g7ogr.ondigitalocean.app/redoc/
Test via Insomnia - https://github.com/johndiginee/Porto_Shopping_Mall_API/blob/master/Insomnia_2023-09-18.json
git clone https://github.com/johndiginee/Porto_Shopping_Mall_API.git
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Set DEBUG = True in settings.py
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver
Create a .env file and set:
SECRET_KEY =
DEBUG =
AWS_ACCESS_KEY_ID =
AWS_SECRET_ACCESS_KEY =
AWS_STORAGE_BUCKET_NAME =
AWS_S3_REGION_NAME =
EMAIL_HOST =
EMAIL_HOST_USER =
EMAIL_HOST_PASSWORD =
EMAIL_PORT =
STRIPE_PUBLIC_KEY =
STRIPE_PRIVATE_KEY =
STRIPE_WEBHOOK =
John Diginee - LinkedIn / X / Personal Site
Holberton School, ALX Africa (Mentors, Staff and Students) & Mastercard Foundation