No description
Find a file
2025-12-29 17:34:55 +00:00
cmd/srv feat: initial project setup with Gleam/Lustre frontend and Go backend 2025-12-29 17:05:22 +00:00
db feat: initial project setup with Gleam/Lustre frontend and Go backend 2025-12-29 17:05:22 +00:00
docs feat: initial project setup with Gleam/Lustre frontend and Go backend 2025-12-29 17:05:22 +00:00
frontend feat: add confirmation dialog for deleting chores and family members 2025-12-29 17:22:05 +00:00
srv refactor: rename Family Chores to Home Chores and clean up frontend 2025-12-29 17:14:38 +00:00
.gitignore chore: remove build artifacts from version control 2025-12-29 17:07:34 +00:00
AGENTS.md docs: update hive URL to kwila/hive 2025-12-29 17:34:55 +00:00
go.mod feat: initial project setup with Gleam/Lustre frontend and Go backend 2025-12-29 17:05:22 +00:00
go.sum feat: initial project setup with Gleam/Lustre frontend and Go backend 2025-12-29 17:05:22 +00:00
home-chores.service refactor: rename Family Chores to Home Chores and clean up frontend 2025-12-29 17:14:38 +00:00
justfile chore: rename srv.service to home-chores.service 2025-12-29 17:09:45 +00:00
LICENSE Initial commit 2025-12-29 12:03:40 -05:00
README.md chore: rename srv.service to home-chores.service 2025-12-29 17:09:45 +00:00

Home Chores 🏠

A realtime chore tracker and todo list for family households. Track recurring daily/weekly chores, one-time tasks, and assign them to family members.

Features

  • Recurring Chores: Set chores to repeat daily, weekly, or monthly
  • One-time Tasks: Add tasks with optional due dates
  • Family Members: Create family member profiles with colors for easy identification
  • Assignees: Optionally assign chores to specific family members
  • Priority Levels: Mark chores as low, medium, or high priority
  • Realtime Updates: WebSocket-based updates for instant synchronization
  • Home Assistant Integration: REST API endpoint for dashboard integration
  • Mobile-friendly: Responsive design works on phones and tablets

Tech Stack

  • Frontend: Gleam + Lustre
  • Backend: Go with SQLite database
  • Realtime: WebSocket for live updates

Quick Start

Prerequisites

  • Go 1.21+
  • Gleam 1.14+
  • Erlang (for Gleam)
  • just (optional, for task running)

Development

# Install dependencies
just deps

# Run development server
just dev

The app will be available at http://localhost:8000

Build for Production

just build

This creates:

  • bin/srv - The backend binary
  • frontend/dist/ - The frontend assets

Deploy as Service

just deploy

This installs the application as a systemd service.

API Endpoints

Chores

Method Endpoint Description
GET /api/chores List all chores
POST /api/chores Create a chore
GET /api/chores/{id} Get a specific chore
PUT /api/chores/{id} Update a chore
DELETE /api/chores/{id} Delete a chore
POST /api/chores/{id}/complete Mark chore as complete

Family Members

Method Endpoint Description
GET /api/family List family members
POST /api/family Create a family member
PUT /api/family/{id} Update a family member
DELETE /api/family/{id} Delete a family member

Completions

Method Endpoint Description
GET /api/completions List today's completions
DELETE /api/completions/{id} Delete a completion

Home Assistant

Method Endpoint Description
GET /api/ha/state Get state for Home Assistant

WebSocket

Endpoint Description
/ws WebSocket for realtime updates

Home Assistant Integration

Add a REST sensor to your Home Assistant configuration:

sensor:
  - platform: rest
    name: Family Chores
    resource: http://YOUR_HOST:8000/api/ha/state
    json_attributes:
      - total_chores
      - pending_today
      - completed_today
      - overdue
      - chores
    value_template: "{{ value_json.pending_today }} pending"
    scan_interval: 60

Or embed the web interface in an iframe:

panel_iframe:
  chores:
    title: "Family Chores"
    url: "http://YOUR_HOST:8000"
    icon: mdi:clipboard-list

Database

The application uses SQLite for storage. The database file is created at db.sqlite3 in the working directory.

Migrations

Migrations are automatically applied on startup. Migration files are in db/migrations/.

Project Structure

home-chores/
├── cmd/srv/           # Main entry point
├── srv/               # HTTP server and handlers
├── db/                # Database layer
│   ├── migrations/    # SQL migration files
│   ├── queries/       # SQLC query files
│   └── dbgen/         # Generated database code
├── frontend/          # Gleam/Lustre frontend
│   ├── src/           # Gleam source files
│   └── dist/          # Built frontend assets
├── docs/              # Documentation
├── justfile           # Task runner recipes
└── home-chores.service # Systemd service file

License

MIT