{"id":28955893,"url":"https://github.com/eooo-io/sass-architecture","last_synced_at":"2026-05-10T03:02:57.019Z","repository":{"id":295112799,"uuid":"989139039","full_name":"eooo-io/sass-architecture","owner":"eooo-io","description":"SaaS Architectural Design Project to scale to Enterprise ","archived":false,"fork":false,"pushed_at":"2025-06-07T23:32:52.000Z","size":3321,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-08T00:28:01.131Z","etag":null,"topics":["cloud-architecture","docker","helm","k8s","saas-template","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eooo-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-23T16:05:43.000Z","updated_at":"2025-06-07T23:32:55.000Z","dependencies_parsed_at":"2025-05-23T18:08:45.064Z","dependency_job_id":"7660d0d5-579a-4317-b869-108a1cd11824","html_url":"https://github.com/eooo-io/sass-architecture","commit_stats":null,"previous_names":["eooo-io/sass-architecture"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eooo-io/sass-architecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eooo-io%2Fsass-architecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eooo-io%2Fsass-architecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eooo-io%2Fsass-architecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eooo-io%2Fsass-architecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eooo-io","download_url":"https://codeload.github.com/eooo-io/sass-architecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eooo-io%2Fsass-architecture/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261548756,"owners_count":23175502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-architecture","docker","helm","k8s","saas-template","terraform"],"created_at":"2025-06-23T20:12:04.263Z","updated_at":"2026-05-10T03:02:56.917Z","avatar_url":"https://github.com/eooo-io.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SaaS Multi-Tenancy Architecture to Enterprise Scale\n\nA complete reference architecture for building a modern, scalable, and secure SaaS platform. Designed for rapid development, real-time features, multi-tenancy, and full enterprise scalability.\n\n![License](https://img.shields.io/badge/license-MIT-green)\n![MkDocs](https://img.shields.io/badge/docs-MkDocs-blue)\n![Kubernetes](https://img.shields.io/badge/k8s-ready-326ce5)\n![Terraform](https://img.shields.io/badge/infra-terraform-623CE4)\n![Helm](https://img.shields.io/badge/deploy-helm-0f1689)\n![CI/CD](https://img.shields.io/badge/ci--cd-github--actions-blue)\n![Status](https://img.shields.io/badge/stability-experimental-yellow)\n\n## Project Contents\n\n- **MkDocs Documentation** — Full architectural strategy\n- **Helm Charts** — Kubernetes deployment (example: `api-gateway`)\n- **Terraform Scripts** — Basic AWS infra setup\n- **Diagrams** — JWT payload, GitOps flow, and more\n- **Docker Setup** — Complete local development environment\n\n## Tech Stack\n\n| Layer                  | Tech                             |\n|------------------------|----------------------------------|\n| Frontend               | React, Tailwind, Material UI     |\n| Mobile                 | Expo, React Native               |\n| Backend                | NestJS (TypeScript), gRPC, REST  |\n| API Gateway            | NestJS + Auth Middleware         |\n| Realtime               | WebSocket Gateway + Redis PubSub |\n| Async Communication    | Redis Streams, NATS, Kafka       |\n| Authentication         | Clerk.dev, FusionAuth, Keycloak  |\n| Authorization          | JWT, RBAC, ABAC, OPA             |\n| Billing                | Stripe Subscriptions             |\n| Infrastructure as Code | Terraform, Helm, ArgoCD          |\n| CI/CD                  | GitHub Actions                   |\n| Observability          | Prometheus, Grafana, OpenTelemetry |\n| Documentation          | MkDocs, Mermaid, JsonCrack       |\n\n## Architectural Reference\n\n```mermaid\ngraph TD\n  A[App Shell] --\u003e B1[Routing Layer]\n  A --\u003e B2[State Management]\n  A --\u003e B3[UI Components]\n\n  B1 --\u003e C1[Page Modules]\n  C1 --\u003e D1[HomePage]\n  C1 --\u003e D2[Dashboard]\n  C1 --\u003e D3[Settings]\n\n  B2 --\u003e C2[Stores]\n  C2 --\u003e E1[Auth Store]\n  C2 --\u003e E2[User Store]\n  C2 --\u003e E3[Billing Store]\n\n  B3 --\u003e C3[Design System]\n  C3 --\u003e F1[Buttons]\n  C3 --\u003e F2[Modals]\n  C3 --\u003e F3[Form Elements]\n\n  A --\u003e Z[Utils/Services]\n  Z --\u003e Z1[API Client]\n  Z --\u003e Z2[Validation Logic]\n  Z --\u003e Z3[Error Handling]\n\n  %% Backend interaction\n  E1 --\u003e G1[REST API Endpoints]\n  E2 --\u003e G1\n  E3 --\u003e G1\n  D1 --\u003e G1\n  D2 --\u003e G1\n  D3 --\u003e G1\n\n  %% Grouping backend conceptually\n  subgraph \"Backend API Layer\"\n    G1\n  end\n```\n## Local Development with Docker\n### Prerequisites\n\n- Docker Engine 24.0.0 or later\n- Docker Compose v2.20.0 or later\n- At least 16GB RAM recommended\n- Support for both AMD64 and ARM64 architectures\n\n### Directory Structure\n\n```\n.\n├── site/\n│   └── frontend/         # React frontend code\n├── services/\n│   └── api-gateway/     # NestJS API gateway code\n├── config/\n│   ├── prometheus/      # Prometheus configuration\n│   └── otel-collector/  # OpenTelemetry configuration\n├── docs/                # MkDocs documentation\n├── Dockerfile.backend   # Multi-arch NestJS Dockerfile\n├── Dockerfile.frontend  # Multi-arch React Dockerfile\n├── nginx.conf          # Nginx configuration for frontend\n└── docker-compose.yml  # Local development orchestration\n```\n\n### Available Services\n\n| Service               | Local URL                    | Description                           |\n|----------------------|------------------------------|---------------------------------------|\n| Frontend             | http://localhost:3000        | React SPA with hot-reload            |\n| API Gateway          | http://localhost:4000        | NestJS API Gateway                   |\n| Documentation        | http://localhost:8000        | Live MkDocs documentation            |\n| Keycloak            | http://localhost:8080        | Authentication \u0026 Authorization        |\n| Grafana             | http://localhost:3001        | Metrics \u0026 Dashboards                 |\n| Prometheus          | http://localhost:9090        | Metrics Storage                      |\n| PostgreSQL          | localhost:5432               | Main Database                        |\n| Redis               | localhost:6379               | Caching \u0026 Pub/Sub                    |\n| NATS                | localhost:4222               | Message Queue                        |\n| Kafka               | localhost:9092               | Event Streaming                      |\n| OpenTelemetry       | localhost:4317 (gRPC)        | Distributed Tracing                  |\n\n### Quick Start\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/your-org/saas-architecture.git\ncd saas-architecture\n```\n\n2. Start the development environment:\n```bash\n# Start all services\ndocker compose up --build\n\n# Start specific services\ndocker compose up frontend api-gateway postgres\n```\n\n3. Access the services:\n- Frontend application: http://localhost:3000\n- API Documentation: http://localhost:4000/api\n- Project Documentation: http://localhost:8000\n- Keycloak Admin: http://localhost:8080/admin (admin/admin)\n- Grafana Dashboards: http://localhost:3001 (admin/admin)\n\n### Development Features\n\n- **Hot Reload**: Frontend and backend code changes are reflected immediately\n- **Multi-arch Support**: Works on both Intel/AMD and Apple Silicon machines\n- **Unified Logging**: All service logs available through Docker Compose\n- **Debugging**: Exposed ports for attaching debuggers\n- **Metrics \u0026 Tracing**: Complete observability stack with Prometheus, Grafana, and OpenTelemetry\n\n### Common Tasks\n\n```bash\n# View service logs\ndocker compose logs -f api-gateway\n\n# Rebuild a specific service\ndocker compose up -d --build frontend\n\n# Reset all data\ndocker compose down -v\n\n# Scale services\ndocker compose up -d --scale api-gateway=2\n```\n\n## Production Deployment\n\nFor production deployment instructions, see:\n- Kubernetes deployment: [helm-charts/README.md](helm-charts/README.md)\n- AWS infrastructure: [terraform/aws/README.md](terraform/aws/README.md)\n\n### Documentation: https://eooo-io.github.io/sass-architecture/\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feooo-io%2Fsass-architecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feooo-io%2Fsass-architecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feooo-io%2Fsass-architecture/lists"}