- Clone the repository:
git clone https://github.com/Mehdipoladrag/shop.git
- Create and start the containers:
docker-compose up -d --build
- Start the containers:
docker-compose up -d
- Stop and remove the containers:
docker-compose down
-
docker-compose exec web sh -c "python manage.py makemigrations"
-
docker-compose exec web sh -c "python manage.py migrate"
-
docker-compose exec web sh -c "python manage.py createsuperuser"
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.
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.
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.
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.
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.
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