home: add minerva dashboard scaffold
This commit is contained in:
87
home/minerva-dashboard/README.md
Normal file
87
home/minerva-dashboard/README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# Minerva Dashboard
|
||||
|
||||
Private-first household and personal-assistant dashboard for Manndra, with a Ravenclaw common-room feel and phone-first layout.
|
||||
|
||||
## Purpose
|
||||
|
||||
Minerva Dashboard is meant to be a calm, useful front page for Manndra's household flow. V1 keeps the data model simple and JSON-backed so the first live slice can be exercised quickly before deeper integrations arrive.
|
||||
|
||||
The first pass focuses on:
|
||||
|
||||
- agenda and reminders
|
||||
- household lists
|
||||
- quick notes
|
||||
- useful links
|
||||
- meal ideas and shortcuts
|
||||
- Minerva quick actions for fast capture from a phone
|
||||
|
||||
## Runtime shape
|
||||
|
||||
- **Repo source:** `home/minerva-dashboard`
|
||||
- **Expected live PD runtime:** `/mnt/docker-ssd/docker/compose/minerva-dashboard`
|
||||
- **Expected first exposure:** private-first on PD unless later changed
|
||||
- **Published app port:** `8094`
|
||||
|
||||
Do not run production from an agent workspace.
|
||||
|
||||
## V1 defaults
|
||||
|
||||
Unless John or Manndra changes direction later, V1 assumes:
|
||||
|
||||
- Manndra is the primary active user
|
||||
- mobile-friendly first, desktop-usable second
|
||||
- elegant Ravenclaw/common-room styling instead of playful novelty clutter
|
||||
- JSON-backed state first for speed and easy inspection
|
||||
- practical household wording over infra/operator language
|
||||
- no live deploy in this scaffold task
|
||||
|
||||
## Current scaffold
|
||||
|
||||
The scaffold already provides:
|
||||
|
||||
- seeded Manndra profile and dashboard copy
|
||||
- seeded agenda, reminders, lists, notes, links, meal ideas, shortcuts, and quick actions
|
||||
- server-rendered homepage for phone use
|
||||
- real themed graphics in visible UI locations (library hero, owl medallion, blue-interior art, Art Nouveau ornament)
|
||||
- provenance notes for vendored imagery in `docs/ASSET_SOURCES.md`
|
||||
- API endpoints for health, summary, and quick note capture
|
||||
- form-based quick note capture from the dashboard
|
||||
- Docker, compose, env example, local run helper, and pytest coverage for initial flows
|
||||
|
||||
## Current API surface
|
||||
|
||||
- `GET /api/health`
|
||||
- `GET /api/dashboard/summary`
|
||||
- `POST /api/notes/quick-add`
|
||||
- `POST /quick-actions/notes`
|
||||
|
||||
## Local run
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/repos/truenas-stacks/home/minerva-dashboard
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
uvicorn app.main:app --reload --port 8094
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/repos/truenas-stacks/home/minerva-dashboard
|
||||
bin/run-local.sh
|
||||
```
|
||||
|
||||
## Verification targets
|
||||
|
||||
```bash
|
||||
curl -fsS http://127.0.0.1:8094/api/health
|
||||
curl -fsS http://127.0.0.1:8094/api/dashboard/summary
|
||||
curl -fsS http://127.0.0.1:8094/ | grep 'Minerva Dashboard'
|
||||
```
|
||||
|
||||
## Assumptions captured in scaffold
|
||||
|
||||
- Manndra is the first and primary user for this app
|
||||
- agenda/reminders are seeded locally until a calendar or Donetick-style integration is chosen
|
||||
- the quick-add mutation writes notes first because quick capture from a phone is a strong default for this product shape
|
||||
Reference in New Issue
Block a user