Mobile apps, dashboards, and API integrations that connect users and partners to the eCozy platform.
| Parameter | Value |
|---|---|
| Platforms | iOS · Android |
| Framework | Flutter (Dart) |
| Architecture | Clean Architecture + BLoC (flutter_bloc) |
| State management | BLoC pattern with functional programming paradigms |
| Data model | Immutable (freezed + fast_immutable_collections) |
| Navigation | Declarative (deep link support, state restoration) |
| DI | Service locator pattern (get_it / injectable) |
| UI scaling | flutter_screenutil; SVG assets for resolution independence |
| CI/CD | GitLab CI — code generation → format → analyze → test → merge gate |
| Feature | Description |
|---|---|
| Device onboarding | Guided setup wizard — Central Unit pairing, thermostat commissioning |
| Room control | Real-time temperature display, setpoint adjustment per room |
| Schedules | Weekly heating programs — per-room or whole-home |
| Scenarios | Pre-built and custom automations — "Away Mode", "Night Mode", "Eco" |
| Remote access | Full control outside the home via cloud REST API |
| Local access | Direct control on the local network without cloud dependency |
| Notifications | Push alerts (FCM / APNs) — leak events, low battery, OTA updates |
| Energy analytics | Historical temperature and heating reports |
| Account & auth | Email/password, Google, Apple, Amazon OAuth |
| Multi-home | Manage multiple homes from a single account |
lib/
├── core/ ← Bootstrap, constants, utilities
├── features/
│ └── <feature>/
│ ├── data/ ← Repositories, data sources, DTOs
│ ├── domain/ ← Entities, use cases, interfaces
│ └── presentation/ ← BLoC, screens, widgets
├── shared/ ← Reusable components, themes
└── main.dart
Key layers:
| Mode | Network | Cloud | Use Case |
|---|---|---|---|
| Remote | Internet (4G / Wi-Fi) | ✅ Required | Control from anywhere |
| Local | Home Wi-Fi / LAN | ❌ Not needed | Privacy-first; low latency |
| Portal | Audience | Status | Description |
|---|---|---|---|
| Web App | End users · Admins | ✅ Current | Advanced configuration, device management, analytics |
| Installer Dashboard | Professional installers | 🔮 Planned | Bulk device commissioning, fleet status, diagnostics |
| Partner Portal | Distribution partners | 🔮 Planned | Order tracking, warranty management, support tools |
| Parameter | Value |
|---|---|
| Base URL | https://api.ecozy.com/v1 |
| Protocol | HTTPS (TLS 1.3) |
| Auth | JWT Bearer token (OAuth2 flow) |
| Docs | Swagger / OpenAPI auto-generated |
| Versioning | URL path (/v1, /v2) |
| Rate limiting | Per-client token bucket at API Gateway |
| Endpoint group | Purpose |
|---|---|
/auth/* |
Login, register, refresh, OAuth callbacks |
/users/* · /me |
Profile, roles, preferences |
/homes/* |
Home CRUD, room layout, member management |
/central-units/* |
CU registration, pairing, status, sessions |
/thermostats/* |
Device control, setpoints, telemetry logs |
/scenarios/* |
Automation CRUD, activation, scheduling |
/notifications/* |
Push notification history and preferences |
| Platform | Protocol | Status | Notes |
|---|---|---|---|
| Apple HomeKit | Matter | ✅ Via Matter | Devices appear natively via Thread |
| Google Home | Matter | ✅ Via Matter | Devices appear natively via Thread |
| Amazon Alexa | Matter | ✅ Via Matter | Devices appear natively via Thread |
| Third-party | REST API | 🔮 Planned | Open API for custom integrations |
Matter enables native integration — no custom skills, no cloud-to-cloud bridges.
eCozy devices are automatically discovered by Apple Home, Google Home, and Alexa.
| 🏠 End-to-end System Overview | High-level view of all system layers and how they interconnect. |
| 🔩 Hardware Layer | Device inventory, chipsets, connectivity, and power design. |
| ⚙️ Firmware / Embedded Layer | OS/RTOS, firmware architecture, OTA updates, and device security. |
| 🧠 Edge AI Layer | On-device machine learning — models, pipeline, and compute constraints. |
| ☁️ Cloud Layer | Backend infrastructure, application architecture, and data storage. |