Flo Documentation
Flo is a multi-tenant SaaS platform built by Team Ledges for fitness studios, wellness centers, and real estate agencies. It supports multiple brands with whitelabeling, dynamic entity management via code generation, and zero-downtime blue-green deployments.
Tech Stack
| Layer | Technology |
|---|---|
| Backend | .NET 9, Entity Framework Core, PostgreSQL 16 |
| Frontend | Angular 21, PrimeNG 21, Tailwind CSS 3, Vite |
| Auth | Cookie-based + OpenIddict (OIDC/OAuth2) + OTP email login |
| Code Generation | Roslyn Source Generator (entities, controllers, services from JSON schemas) |
| Infrastructure | Docker, Nginx (single-tenant) / Traefik (multi-tenant) |
| Deployment | Flo CLI with blue-green deployments |
| Languages | Italian (primary) + English |
| CI/CD | GitHub Actions (coverage, i18n checks, Docker publishing) |
Documentation Sections
For Users
- Getting Started — First steps as a Flo user
- Booking — How the booking system works
- Account Management — Profile, password, and settings
- Admin Panel — Configuration guide for administrators
- Real Estate (Immobili) — Property listings, detail editor, and matching
- Installing the App — How to install Flo as a mobile app
Architecture
- Overview — System architecture and project structure
- Authentication — Auth flows (password, OTP, OIDC)
- Roles & Permissions — Role hierarchy and authorization
- Feature Flags — Runtime feature toggling
- Multi-Brand Theming — Whitelabeling and brand detection
- Dynamic Entities — SchemaGen code generation system
Backend
- Deployment Setup — Docker deployment on Ubuntu with SSL
- API Reference — API versioning, endpoints, and clients
- Email Configuration — SMTP providers and alias setup
- Environment Variables — Complete
.envreference
Frontend
- Overview — Angular architecture, components, and patterns
- State Management — NGRX ComponentStore and stores
- Design Tokens — Colors, typography, and Tailwind integration
Deployment
- Single-Tenant — Docker Compose + Nginx
- Multi-Tenant CLI — Flo CLI with blue-green deployments
Testing
- Overview — Testing strategy, frameworks, and CI
Infrastructure
- Database Backups — Automated PostgreSQL backups to Google Drive
- Server Naming — Infrastructure naming conventions
- Firewall — UFW firewall configuration
- Fail2Ban — Brute force protection
- Strapi Manager — Multi-instance Strapi with Docker
Tools Reference
- Docker | Linux | PostgreSQL | FFmpeg
Troubleshooting
- Docker Issues — Common Docker problems and fixes