GTC Termocontrol · Multi-tenant SaaS platform
Migration of a Django monolith to eight domain microservices, with events, Row Level Security in PostgreSQL, a Nuxt 3 frontend and blue/green deployments.
About the project
A SaaS platform for managing industrial projects. I lead its evolution from a Django monolith and a database-per-client model towards eight independent microservices — identity, sales, site works, expenses, human resources, notifications, reporting and files — each responsible for its own data and release cycle. The architecture combines events over Redis Streams with on-behalf-of REST queries and read replicas. Multi-tenant isolation is enforced per row with FORCE Row Level Security policies in PostgreSQL and a tenant context set per transaction. The local environment is reproduced with Podman, Kubernetes and Traefik; every service has its own CI/CD in GitHub Actions, blue/green deployments and infrastructure defined with Terraform.
Key features
- Eight independent microservices organised by business domain
- Asynchronous communication over Redis Streams with event-driven read replicas
- Multi-tenant isolation with Row Level Security in PostgreSQL
- JWT RS256 and JWKS authentication, RBAC and Microsoft Entra ID
- Files of up to 4 GB via pre-signed URLs and object storage
- Real-time sales kanban pipeline over Server-Sent Events
- Estimates, financial engine, works schedule with S-curve, and org chart
- PDFs, Excel reports and an Android app for field supervisors
My role on the project
Full-Stack Developer · Microservice Architecture
- Designed the target architecture and decomposed the monolith into eight domains
- Implemented the multi-tenant model with Row Level Security and FORCE policies
- Built the records microservice in Rust with axum and SQLx
- Designed distributed authentication with JWT RS256, JWKS, RBAC and Entra ID
- Built fifteen screens in Nuxt 3 and Vue 3 with TypeScript
- Automated CI/CD, blue/green deployments and infrastructure with Terraform
- Designed the AWS architecture with ECS Fargate, RDS, S3, ALB, VPC, ECR and CloudWatch
- Business-rule tests and strict static type checking per service