James Griffin 07bf4c2112
All checks were successful
CI / Go tests & lint (push) Successful in 9s
CI / Frontend tests & type-check (push) Successful in 41s
CI / Go tests & lint (pull_request) Successful in 9s
CI / Frontend tests & type-check (pull_request) Successful in 42s
Replace volunteer ID input with checkbox picker on shift edit
The edit form now loads the volunteer list and groups them by
operational role. Template role requirements are shown with a
count indicator (selected/required) that turns green when filled.
Volunteers are selected via checkboxes instead of typing IDs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 19:56:20 -03:00
2026-04-08 14:58:58 -03:00
2026-03-05 14:32:44 +00:00
2026-04-08 14:58:58 -03:00

walkies

A web-based application for an animal shelter to manage volunteer scheduling, time off, check-in/check-out, and notifications.

Requirements

Development

Run task to list all available tasks.

Quick start (two terminals)

Terminal 1 — backend:

task web:build    # build frontend once so the Go server has static files
task go:run       # starts API server on :8080

Terminal 2 — frontend dev server:

task web:dev      # hot-reload dev server on :3000, proxies /api/v1 → :8080

Then open http://localhost:3000.

With live backend reload

Install air for hot-reloading the Go server:

go install github.com/air-verse/air@latest
task web:build
task dev:backend

Common tasks

Task Description
task build Build frontend and Go binary
task go:test Run Go tests
task web:test Run frontend tests
task go:lint Run go vet
task tidy Tidy Go modules
task clean Remove build artifacts

Docker

task docker:up     # build image and start container
task docker:logs   # tail logs
task docker:down   # stop

Configuration

The server is configured via environment variables:

Variable Default Description
PORT 8080 HTTP listen port
DATABASE_DSN walkies.db SQLite file path
JWT_SECRET change-me-in-production HMAC signing key — change this
STATIC_DIR ./web/build Path to compiled React app

Copy .env.example to .env to set these locally (the server reads environment variables directly; use a process manager or Docker to inject them).

Description
A web-based application for an animal shelter to manage volunteer scheduling, time off, check-in/check-out, and notifications.
Readme MIT 590 KiB
Languages
Go 59%
TypeScript 39%
CSS 1.5%
HTML 0.3%
Dockerfile 0.2%