Architecture Overview
The KNX Clarity platform is built on AWS using a modern, serverless-first architecture.
Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React, TypeScript, TailwindCSS | Single-page web application |
| Auth | AWS Cognito (Amplify Auth) | User authentication and authorization |
| API | AWS AppSync (GraphQL) | Primary API for the web app |
| REST API | Lambda + API Gateway | Public REST API for SDK/integrations |
| Database | Aurora Serverless v2 (MySQL) | Relational data storage |
| Storage | Amazon S3 | ETS files, attachments, assets |
| IaC | Amplify Gen2 + AWS CDK | Infrastructure as Code |
| CI/CD | GitHub Actions | Automated testing and deployment |
| Docs | Docusaurus (Vercel) | Developer documentation |
Repository Structure
knx-project-cloud/
├── amplify/ # Amplify Gen2 backend definitions
├── apps/
│ └── web/ # React frontend application
├── packages/
│ ├── core/ # Shared schema, types, constants
│ └── sdk/ # TypeScript SDK for the REST API
├── infra/ # Custom CDK stacks (monitoring, OIDC)
├── docs/
│ └── developer/ # Docusaurus developer docs
├── tests/ # E2E and load tests
└── .github/ # CI/CD workflows and templates
Data Flow
- Web App communicates with the backend via AppSync (GraphQL)
- External integrations use the REST API via the SDK
- ETS files are uploaded to S3 and parsed by Lambda functions
- All data is stored in Aurora Serverless v2 (MySQL)