Skip to content

A backend system designed with a microservices architecture, applying the Strangler Fig pattern to gradually replace a monolith. It features event-driven communication using RabbitMQ and Saga pattern orchestration to handle distributed transactions reliably. The project showcases real-world practices in building scalable

License

Notifications You must be signed in to change notification settings

everleepham/fit-company

 
 

Repository files navigation

FitApp – Event-Driven Fitness Platform with Billing & Premium Features

Overview

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.


Architecture

Architecture Diagram

Getting Started

Start the database with docker compose

docker compose up -d

Run the projet

uv sync
./main.py

Tests

python -m pytest tests/ -v

About

A backend system designed with a microservices architecture, applying the Strangler Fig pattern to gradually replace a monolith. It features event-driven communication using RabbitMQ and Saga pattern orchestration to handle distributed transactions reliably. The project showcases real-world practices in building scalable

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.1%
  • Dockerfile 1.5%
  • JavaScript 1.4%