40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
# Calendink MVP Plan - Executive Summary
|
|
|
|
This document defines the macroscopic project scope for the Calendink Minimum Viable Product (MVP).
|
|
|
|
We will structure the development into **4 Major Epics**. Because features like Power Management and SD Card Integration require deep technical investigation, we will not prematurely guess the solutions here. Instead, each Epic will begin with a dedicated **Technical Design Document (TDD)** to map out the exact implementation before coding.
|
|
|
|
---
|
|
|
|
## The 4 Development Epics
|
|
|
|
### Epic 1: Client Power Strategy
|
|
**Goal:** Achieve a battery life measured in months for the ESP32-C6 Client.
|
|
**Scope:**
|
|
- Research and design a formal power strategy.
|
|
- Evaluate Target Wake Time (TWT), `esp-pm`, Light Sleep, Deep Sleep, and hybrid ESP-NOW routing.
|
|
- The outcome will be a dedicated TDD followed by the firmware implementation.
|
|
|
|
### Epic 2: Provider Persistent Storage (SD Card)
|
|
**Goal:** Ensure Users, Tasks, and Settings survive device reboots.
|
|
**Scope:**
|
|
- Investigate the physical SD Card pinout on the ESP32-S3.
|
|
- Decide between SQLite or flat JSON files.
|
|
- Implement the ESP-IDF SDMMC/SDSPI driver.
|
|
- Migrate the current in-RAM `g_Tasks` and `g_Users` arrays to the new persistent backend.
|
|
|
|
### Epic 3: Voice-to-Task AI (Gemini)
|
|
**Goal:** Allow users to dictate tasks naturally in French.
|
|
**Scope:**
|
|
- Implement an API endpoint on the Provider to accept raw audio/text.
|
|
- Create an internal HTTPS client on the S3 to proxy the data to the Google Gemini API.
|
|
- Parse the structured JSON response from Gemini to automatically save the new task.
|
|
|
|
### Epic 4: Modular Grid Layout & Provider Integration
|
|
**Goal:** Replace the single-XML screen structure with a flexible 6-pane grid.
|
|
**Scope:**
|
|
- Define a fixed layout layout on the E-ink display: 2 large top canvases (Main Task, Weather) and 4 small bottom canvases (One per family member).
|
|
- Limit the user system to exactly 4 Active Users.
|
|
- Allow the dashboard to assign distinct XML templates to any of the 6 canvases, making it adaptable to future widgets.
|
|
- Integrate an OpenWeatherMap API wrapper on the Provider.
|