Files
Calendink/Provider/AgentTasks/mvp_implementation_plan.md
T

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.