diff options
Diffstat (limited to 'PROJECT_SUMMARY.md')
| -rw-r--r-- | PROJECT_SUMMARY.md | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/PROJECT_SUMMARY.md b/PROJECT_SUMMARY.md deleted file mode 100644 index daa36eb..0000000 --- a/PROJECT_SUMMARY.md +++ /dev/null @@ -1,209 +0,0 @@ -# Project Summary - -## What This Is - -A **unified personal dashboard** that aggregates your productivity data into one place: -- 📋 **Trello boards** (your primary task system) -- ✓ **Todoist tasks** -- 📝 **Obsidian notes** (optional) -- 🍽️ **PlanToEat meals** (optional) - -## Current Status: ✅ Phase 1 Complete - -### What Works -- ✅ Trello integration (all boards + cards) -- ✅ Todoist integration (tasks + projects) -- ✅ Obsidian integration (20 most recent notes) -- ✅ PlanToEat integration (optional - API not public) -- ✅ Mobile-responsive web UI -- ✅ SQLite caching (5-min TTL) -- ✅ Auto-refresh (5 min) -- ✅ Full test coverage (9/9 tests passing) - -### Statistics -- **Binary size:** 17MB -- **Code:** 2,667 lines -- **Dependencies:** chi router, sqlite3, Go 1.21+ -- **Tests:** 5 unit tests, 4 acceptance tests - -## Quick Start - -### 1. Get API Keys (5 minutes) - -**Todoist:** -1. Go to https://todoist.com/app/settings/integrations -2. Copy API token - -**Trello:** -1. Go to https://trello.com/power-ups/admin -2. Create a Power-Up -3. Go to **API Key** tab → Generate new API key (NOT Secret!) -4. Follow "testing/for-yourself" instructions → Click **Token** link -5. Copy both API Key + Token - -### 2. Configure - -```bash -cp .env.example .env -# Edit .env: -TODOIST_API_KEY=your_todoist_token -TRELLO_API_KEY=your_trello_key -TRELLO_TOKEN=your_trello_token -``` - -### 3. Run - -```bash -go run cmd/dashboard/main.go -``` - -### 4. Open - -http://localhost:8080 - -**That's it!** 🎉 - -## Documentation - -- **[QUICKSTART.md](QUICKSTART.md)** - Get running in 5 minutes -- **[SETUP_GUIDE.md](SETUP_GUIDE.md)** - Detailed setup instructions -- **[README.md](README.md)** - Full project documentation - -## Architecture - -### Request Flow -``` -Browser → chi Router → Handler - ↓ - Check SQLite Cache (5min TTL) - ↓ - Fresh? → Return cached data - Stale? → Fetch from APIs in parallel - ↓ - Trello + Todoist + Obsidian + PlanToEat - ↓ - Save to cache → Return data -``` - -### Key Files -``` -cmd/dashboard/main.go Entry point -internal/ - ├── api/ API clients - │ ├── trello.go Trello (PRIORITY) - │ ├── todoist.go Todoist tasks - │ ├── obsidian.go Markdown notes - │ └── plantoeat.go Meal planning - ├── handlers/ - │ ├── handlers.go Web handlers - ├── config/config.go Environment config - └── store/sqlite.go Database ops -web/ - ├── templates/index.html Dashboard UI - └── static/ CSS/JS -``` - -## API Endpoints - -### Web Dashboard -- `GET /` - Main dashboard view -- `POST /api/refresh` - Force refresh all data -- `GET /api/tasks` - Tasks JSON -- `GET /api/notes` - Notes JSON -- `GET /api/meals` - Meals JSON -- `GET /api/boards` - Trello boards JSON - -## What's Optional - -### Optional Features -- **PlanToEat:** API not publicly available - leave blank -- **Obsidian:** Only if you use Obsidian notes - -### Required Features -- **Todoist:** Yes - tasks integration -- **Trello:** Yes - your primary task system - -## Configuration - -All via `.env` file: - -```bash -# Required -TODOIST_API_KEY=... -TRELLO_API_KEY=... -TRELLO_TOKEN=... - -# Optional -OBSIDIAN_VAULT_PATH=/path/to/vault - -# Server (with defaults) -PORT=8080 -CACHE_TTL_MINUTES=5 -DEBUG=false -``` - -## Development - -### Run Tests -```bash -go test ./... -``` - -### Build Binary -```bash -go build -o dashboard cmd/dashboard/main.go -``` - -### Run with Live Reload -```bash -go install github.com/cosmtrek/air@latest -air -``` - -## Troubleshooting - -### "TODOIST_API_KEY is required" -Make sure `.env` has all three required keys: -```bash -TODOIST_API_KEY=something -TRELLO_API_KEY=something -TRELLO_TOKEN=something -``` - -### "No boards showing" -- Check Trello credentials at https://trello.com/power-ups/admin -- Need **both** API key (from Power-Up's API Key tab) and token (click "Token" link) - -### "PlanToEat not working" -- Expected - API not public -- Just leave `PLANTOEAT_API_KEY` empty -- Dashboard works fine without it - -## What's Next - -### Phase 2 (In Progress) -- [x] Mark tasks complete -- [x] Create Trello cards -- [x] Create Todoist tasks -- [ ] Quick note capture - -### Phase 3 (Future) -- Unified search -- Daily digest -- PWA support - -## License - -MIT License - personal use project - -## Support - -- Check logs: Terminal where you ran `go run cmd/dashboard/main.go` -- Test endpoints: `curl http://localhost:8080/api/tasks` -- Verify API keys: Try them directly in curl (see SETUP_GUIDE.md) - ---- - -**Built with:** Go 1.21+ • SQLite • chi router • Tailwind CSS • HTMX - -**Last Updated:** January 2026 |
