summaryrefslogtreecommitdiff
path: root/docs/proposed_readme.md
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-01-20 15:27:15 -1000
committerPeter Stone <thepeterstone@gmail.com>2026-01-20 15:27:15 -1000
commit3bb0ca2e58168b28c5e49763acd25f531fb8a78d (patch)
tree0dceef57fee23d704131671c4cac276e464b865d /docs/proposed_readme.md
parentd799d4d04cc18654de5864a458668ff073e26284 (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.md30
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.