This project extends a fitness application with a distributed backend architecture, designed to support:
- Fit service to handle users management and workout of the day
- Coach service for exercises
- Stats service to generate statistics of client
- Notification service take charge of sending notifications
- Billing service to manage premium subscriptions
- Premium feature services (premium workouts, subscription management, progress milestones, etc.)
- Microservices communication via RabbitMQ (event-driven architecture)
- Saga Pattern to ensure consistency across services
The goal is to scale the platform and monetize premium users, while keeping the application reliable, modular, and easy to maintain.
Start the database with docker compose
docker compose up -d
Run the projet
uv sync
./main.py
python -m pytest tests/ -v