36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
# Phase 3.1 — Chore Completion Logging and Reports
|
|
|
|
**Date:** 2026-02-05
|
|
**Project:** family-hub
|
|
**Status:** resolved
|
|
**Tags:** fastapi, sqlalchemy, react, typescript, chores, reports, leaderboard, migration
|
|
|
|
## Context
|
|
FamilyHub tracked chore completions as current state only, so there was no history to report on or reward from. Phase 3.1 added a proper completion log and a Reports page so the household can see weekly activity, per-person stats and a leaderboard, and so completions can be verified.
|
|
|
|
## Key Decisions
|
|
- **Append-only chore completion log** (who, what, when) rather than deriving history from chore state — enables weekly reports, stats and verification without losing data on reset.
|
|
- **Verification step on completions** — completions can be checked/approved, supporting the points system.
|
|
- **Server-side aggregation** — weekly report and user stats endpoints compute totals in the backend; the front end just renders.
|
|
- **Dedicated Reports page** with charts and leaderboards instead of adding widgets to the dashboard.
|
|
- **Migration script + batch runner** for the new tables so existing databases upgrade in place.
|
|
|
|
## Technical Details
|
|
- Backend: FastAPI + SQLAlchemy + SQLite; new chore-log Pydantic schemas; endpoints for weekly reports, user stats and verification.
|
|
- Frontend: React 18 + TypeScript + Tailwind; `choreLogs` API service; Reports page (weekly dashboard, charts, leaderboards, stats).
|
|
- Migration: `run_phase3_1_migration.bat`; tests: `test_phase3_1.py` / `test_phase3_1.bat`.
|
|
|
|
## Code Changes
|
|
- `backend/` — chore completion log model + schemas; chore log API routes.
|
|
- `frontend/` — `choreLogs` service; Reports page.
|
|
- Root — Phase 3.1 docs (`PHASE_3_1_*.md`), migration/test batch files.
|
|
|
|
## Open Questions / Next Steps
|
|
- Repo root has accumulated many one-off status/instruction files (`*_COMPLETE.txt`, `FORCE_PUSH_NOW.bat`, stray `*_updated.tsx` copies, and zip archives `family-hub-main.zip`, `familyhub-windows*.zip`). Worth a cleanup pass into `docs/` and `scripts/`, and removing the zips/duplicate components.
|
|
|
|
## Artifacts
|
|
- `e3cae7b` — Phase 3.1: Enhanced Chore Logging and Reporting System
|
|
- `ca702b9` — Add Reports page
|
|
- `e88f9d2` — Add chore logs API endpoints
|
|
- `44be470` — Add chore completion log schemas
|