Files
2026-06-05 00:49:20 -05:00

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
repo
jason
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.