2.7 KiB
2.7 KiB
type, status, source, repo, repo_url, language, branch, tags, updated
| type | status | source | repo | repo_url | language | branch | tags | updated | ||
|---|---|---|---|---|---|---|---|---|---|---|
| project | active | git.alwisp.com | jason/family-planner | https://git.alwisp.com/jason/family-planner | TypeScript | main |
|
2026-05-29 |
family-planner
Repository: jason/family-planner · branch main · TypeScript
Summary
Self-hosted family dashboard for always-on displays — calendars, chores, shopping, meals, message board, countdowns, and photo screensaver in one Docker container
Current status
Active. Synced from Gitea on 2026-05-29.
Documentation overview
Source: PROJECT.md
Family Planner — Project Reference
A self-hosted family dashboard designed for always-on display (wall tablet, TV, Unraid server). Manages calendars, chores, shopping, meals, a message board, countdowns, and a photo screensaver — all in one Docker container with zero external services required.
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Node.js 22, Docker (Alpine) |
| Backend | Express 4, TypeScript 5 |
| Database | Node.js built-in SQLite (node:sqlite), WAL mode |
| File uploads | Multer |
| Frontend | React 18, TypeScript 5, Vite 5 |
| Styling | Tailwind CSS 3, CSS custom properties (theme tokens) |
| Animation | Framer Motion 11 |
| State / data | TanStack Query 5, Zustand 4 |
| Routing | React Router 6 |
| Icons | Lucide React |
| Date utils | date-fns 3 |
| Package manager | pnpm (workspaces monorepo) |
| CI/CD | Gitea Actions → Docker build & push to private registry |
| Deployment target | Unraid (Community Applications / CLI install) |
Repository Structure
family-planner/
├── apps/
│ ├── client/ # React frontend
│ │ └── src/
│ │ ├── components/
│ │ │ ├── layout/
│ │ │ │ └── AppShell.tsx # Sidebar, mobile drawer, page wrapper
│ │ │ ├── screensaver/
│ │ │ │ └── Screensaver.tsx # Idle screensaver w/ Ken Burns slideshow
│ │ │ └── ui/ # Design-system primitives
│ │ │ ├── Avatar.tsx
│ │ │ ├── Badge.tsx
│ │ │ ├── Button.tsx
│ │ │ ├── Input.tsx
│ │ │ ├── Modal.tsx
│ │ │ ├── Select.tsx
│ │ │ ├── Textarea.tsx
│ │ │ └── ThemeToggle.tsx
…(truncated — see repo)
## Notes
- Project file auto-created from repo documentation.