Skip to content

This repository is written in Python and the Django framework and is still under development. This project is a shopping or e-commerce application. The APIs for this project are developed with Django Rest Framework. Additionally, the project's database is PostgreSQL, and it is set up with Docker. Tasks are handled using Celery and Celery Beat.

Notifications You must be signed in to change notification settings

Mehdipoladrag/shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

Installation

  1. Clone the repository:
 git clone https://github.com/Mehdipoladrag/shop.git
  1. Create and start the containers:
 docker-compose up -d --build
  1. Start the containers:
 docker-compose up -d
  1. Stop and remove the containers:
 docker-compose down

usage

How to use a shell for django project

How to Makemigrations
  1. docker-compose exec web sh -c "python manage.py makemigrations"
How to Migrate
  1. docker-compose exec web sh -c "python manage.py migrate"
How to Createsuperuser
  1. docker-compose exec web sh -c "python manage.py createsuperuser"

Project

User Section

This project was written by me to showcase my skills on GitHub as part of my resume. This project is a shopping platform where users can register and log in. They can also make purchases and add products to their shopping cart.

Users can complete their profile to gain full access to their information for purchasing products. Once the user finalizes their purchase, they receive a tracking code.

Admin Section

An admin panel has been created that allows the admin to have specific access permissions. The admin can manage information using Celery Beat to run tasks for each section, which are executed automatically. The superuser can easily access all information, although users can be restricted in certain cases.

REST Framework Section

A separate folder named api/v1/ has been created for each app, categorizing all the site's APIs and separating them for each app. For quick access during testing, I have left it open to everyone, but I will restrict access in the future.

Database Section

I have created a separate panel from Docker Hub for this project, making the database accessible on a completely separate port but with restricted access.

Celery Section

Use Celery to manage the database, allowing us to handle and clean up excess data efficiently. Celery Beat helps us schedule tasks, enabling time-based management of these tasks. Specifically, we add the necessary arguments for a task through the admin panel, and the task is executed automatically. The results of the task can be monitored using the Flower tool. In summary, we utilize Celery for effective database management.

Technologies

Project is created with:

  • Python,Django,DjangoRest,CeleryBeat,Celery,Jwt
  • Postgresql,Pgadmin,Redis,RabbitMq,Flower
  • Docker,Postman
  • Html,Css,Js
  • Swagger
  • flake8,black,pylint,pycodestyle

Refrence

About

This repository is written in Python and the Django framework and is still under development. This project is a shopping or e-commerce application. The APIs for this project are developed with Django Rest Framework. Additionally, the project's database is PostgreSQL, and it is set up with Docker. Tasks are handled using Celery and Celery Beat.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published