diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-01-20 15:27:15 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-01-20 15:27:15 -1000 |
| commit | 3bb0ca2e58168b28c5e49763acd25f531fb8a78d (patch) | |
| tree | 0dceef57fee23d704131671c4cac276e464b865d /docs/proposed_readme.md | |
| parent | d799d4d04cc18654de5864a458668ff073e26284 (diff) | |
Add project documentation
Include design system guidelines, Phase 3 roadmap, code quality
review, proposed README, and authentication ADR.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/proposed_readme.md')
| -rw-r--r-- | docs/proposed_readme.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/proposed_readme.md b/docs/proposed_readme.md new file mode 100644 index 0000000..1fa9f97 --- /dev/null +++ b/docs/proposed_readme.md @@ -0,0 +1,30 @@ +# Task Dashboard + +## Project Goals +The Task Dashboard aims to provide a unified, single-pane-of-glass view of your daily obligations and resources. It aggregates data from multiple specialized tools into one streamlined interface, allowing you to: +* **Centralize Information:** View tasks, notes, and meal plans from Todoist, Trello, Obsidian, and PlanToEat in one place. +* **Increase Efficiency:** Quickly assess your day's priorities without context-switching between multiple applications. +* **Facilitate Action:** Perform key actions like completing tasks and creating new items directly from the dashboard. + +## Current Status +The project is a functional web application built with Go. +* **Backend:** Written in Go (1.21+), utilizing `chi` for routing. It features a clean architecture with decoupled service integrations. +* **Frontend:** Server-side rendered HTML templates styled with Tailwind CSS. +* **Integrations:** + * **Todoist:** Full integration for fetching and managing tasks. + * **Trello:** Integration for viewing and managing board cards. + * **Obsidian:** Read-only access to local markdown notes. + * **PlanToEat:** Retrieval of meal planning data. +* **Storage:** SQLite is used for robust caching of external API responses to improve performance and reduce rate limiting. +* **Entry Point:** The application entry point is located at `cmd/dashboard/main.go`. + +## Future Plans +* **Deepened Integrations:** Expand capabilities to include editing notes and more complex project management features. +* **Interactive UI:** Enhance the frontend responsiveness and interactivity, potentially leveraging HTMX for dynamic updates without full page reloads. +* **Resilience & Observability:** Improve error handling, logging, and metrics to ensure long-term reliability. + +## Architectural Principles +1. **Aggregation:** The system is designed primarily as an aggregator, normalizing data from various external sources into a cohesive internal model (`DashboardData`). +2. **Decoupling:** External services are abstracted behind strict interfaces (`internal/api/interfaces.go`), allowing for easy substitution, testing, and mocking. +3. **Performance via Caching:** A heavy emphasis on caching (via SQLite) ensures the dashboard remains fast and responsive, even when external APIs are slow or unavailable. +4. **Simplicity:** The stack prefers simple, proven technologies (Go templates, Tailwind, SQLite) over complex single-page application frameworks to maintain ease of maintenance and deployment. |
