An online store built with a microservice architecture. This platform includes the following services:
- 🛒 Cart
- 📦 Catalog
- 🧾 Order
- 📩 Notification
- 👤 User
Want to help? Contributions are welcome! Check out the Discussions and Project Roadmap to get started.
-
Languages:
- Python
3.12
- Python
-
Frameworks:
- Django
5.1.4
- Django-Ninja
1.3.0
(update if needed)
- Django
-
Databases & Storage:
- PostgreSQL
17.2
- Redis
7.4
- PostgreSQL
-
Messaging & Tasks:
- Celery
5.x
(add exact version) - RabbitMQ
4.0
- Celery
-
API Gateway & Networking:
- NGINX
- Traefik
3.3
-
Payments & Notifications:
- Stripe
- Twilio
-
Dev Tools:
- Docker
- Poetry
- Make
- Pytest
To ensure proper session handling and communication between services using domain names, add the following lines to your /etc/hosts
file:
127.0.0.1 mysite.com
127.0.0.1 api.mysite.com
This allows your local machine to resolve these domains correctly when accessing the API or other services. Alternatively, you can use custom domain names — just make sure they match the configuration in Traefik or your reverse proxy.
git clone https://github.com/Rojf/Shop
cd Shop
make local-down
fails due to kill
permissions, try running with administrator rights:
# Install dependencies
make local-build
# Start services
make local-up
# Stop services
make local-down
# start app in docker
make up
# Stop app in docker
make down
Each microservice has its own documentation located in the docs/
directory:
Service | Documentation Path | Description |
---|---|---|
🧑💼 User | docs/user/README.md |
Authentication and user profiles |
📦 Catalog | docs/catalog/README.md |
Product catalog and categories |
🛒 Cart | docs/cart/README.md |
Shopping cart logic |
🧾 Order | docs/order/README.md |
Order placement and status |
🔔 Notification | docs/notification/README.md |
Email/SMS/Push notifications |
💳 Payment | docs/payment/README.md |
Integration with Stripe (if exists) |
To explore APIs, expected request/response formats, and workflows, check the relevant README.md
inside each subdirectory.
✅ Completed – Deployed and functional 🔄 In Progress – Actively being developed 📅 Planned – Scheduled for the future
Status | Feature | Release |
---|---|---|
✅ | Basic setup | v0.1.0 |
🔄 | Auth service | v0.2.0 |
📅 | Admin panel | v0.3.0 |