No description
  • TypeScript 65.6%
  • Go 27.7%
  • CSS 3.4%
  • Dockerfile 1.8%
  • HTML 0.8%
  • Other 0.7%
Find a file
Freydis Mende 23361a88ba
All checks were successful
CI / Backend – build & vet (push) Successful in 21s
CI / Frontend – install, typecheck & build (push) Successful in 12s
CI / Docker Compose – build images (push) Successful in 20s
poll from backend
2026-06-12 18:01:19 +02:00
.forgejo/workflows initial import 2026-06-07 18:18:06 +02:00
.github initial import 2026-06-07 18:18:06 +02:00
.vite/deps initial import 2026-06-07 18:18:06 +02:00
backend confirm payments 2026-06-10 21:38:56 +02:00
frontend poll from backend 2026-06-12 18:01:19 +02:00
.gitignore initial import 2026-06-07 18:18:06 +02:00
docker-compose.yml initial import 2026-06-07 18:18:06 +02:00
README.md initial import 2026-06-07 18:18:06 +02:00

Haushaltsplan

A household chore tracker for kids with a parent confirmation flow. Children can mark tasks as done and earn coins that top up their weekly allowance. Parents confirm or reject completions through a PIN-protected view.

Features

  • Child view shows all chores for the current week, coin rewards per task, and a running allowance total
  • Parent view PIN-protected; confirm or reject pending completions with optional notes; manage tasks and settings
  • Configurable base allowance, coin value (€ per coin), and parent PIN are all editable at runtime
  • Persistent SQLite database stored on a Docker volume

Tech stack

Layer Technology
Backend Go 1.26 · chi router · modernc SQLite (no CGO)
Frontend React 19 · TypeScript · Vite · Tailwind CSS v4
Container Docker Compose (nginx reverse proxy → Go API)

Local development

Prerequisites

  • Go ≥ 1.22
  • Node.js ≥ 20

Backend

cd backend
go run .
# API available at http://localhost:8080

Frontend

cd frontend
npm install
npm run dev
# App available at http://localhost:5173

The Vite dev server proxies /api/* requests to http://localhost:8080.

Docker

docker compose up --build

The app will be available at http://localhost:8080.

The SQLite database is persisted in a named Docker volume (db-data).

API overview

Method Path Description
GET /api/tasks List all tasks
POST /api/tasks Create task
PUT /api/tasks/:id Update task
DELETE /api/tasks/:id Delete task
POST /api/tasks/:id/complete Child marks task done
GET /api/completions List completions (filter by ?week= and ?status=)
POST /api/completions/:id/confirm Parent confirms
POST /api/completions/:id/reject Parent rejects
GET /api/summary Weekly summary (coins, allowance)
GET /api/settings Read settings
PUT /api/settings Update settings
POST /api/auth/parent Validate parent PIN

Environment variables

Variable Default Description
DB_PATH ./haushaltsplan.db Path to the SQLite database file

Default settings (first run)

Setting Default Description
parent_pin 1234 PIN for the parent view
base_allowance 500 (= 5.00 €) Weekly base allowance in cents
coin_value 50 (= 0.50 €) Value of one earned coin in cents