Simple Database for tracking Rabbits at Casa Del Bunnies
  • Python 47.3%
  • HTML 47.1%
  • CSS 5.5%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hermes e1dd3c5f91
All checks were successful
ci / uv-buildah-build-push (push) Successful in 19s
ci / build (push) Successful in 0s
fix(dashboard): drop hutch-name links again, cap attention tables at 10
The hyperlink on the hutch name in the Needs Attention tables had
reappeared after the sortable-columns merge; removed again — the
adjacent Manage button already covers that link. Also cap each table
(cleaning, playtime) to the 10 most urgent rows so the dashboard stays
scannable when many hutches are overdue.
2026-09-15 09:12:08 +00:00
.forgejo/workflows feat: add support for publishing python packages to forgejo 2026-09-11 07:54:47 +00:00
app fix(dashboard): drop hutch-name links again, cap attention tables at 10 2026-09-15 09:12:08 +00:00
.env.example chore: initial commit 2026-07-07 12:14:33 +01:00
.gitignore chore: initial commit 2026-07-07 12:14:33 +01:00
.python-version chore: initial commit 2026-07-07 12:14:33 +01:00
Containerfile feat: add support for publishing python packages to forgejo 2026-09-11 07:54:47 +00:00
podman-compose.yml chore: initial commit 2026-07-07 12:14:33 +01:00
pyproject.toml chore(deps): update dependency uv_build to <0.13 2026-08-01 21:48:35 +01:00
README.md feat(hutches): split hutches by compartments 2026-08-25 11:49:57 +01:00
renovate.json chore: initial commit 2026-07-07 12:14:33 +01:00
uv.lock chore: initial commit 2026-07-07 12:14:33 +01:00

RabbitDB

A rabbit rescue management system for db.binky.casa. Tracks rabbits, hutches, adoptions, and staff — built for day-to-day operations at a small rescue.

Features

  • Rabbits — track status (Resident, Fostering, Rehomed, Passed), gender, date of birth, neutered status, parentage, and hutch assignment
  • Hutches — manage hutch letters and floors, mark each floor boundary as a ramp or a divider to split or join living spaces, track cleaning and playtime schedules, see occupancy at a glance
  • Adoptions — record adoption events and link them to rabbits
  • Employees — store staff records with hourly rates and employment dates
  • Timesheets — log hours worked per employee with automatic earnings calculation
  • Payouts — record payments made to staff and track amounts owed
  • Activity Log — audit trail of all changes across the system

Access Roles

Role Access
viewer Read-only access to rabbits and hutches
staff Can edit rabbits and hutches, log own timesheets, view own employee record
admin Full access including adoptions, employees, payouts, and user management

Stack

Running locally

Requires uv and a running PostgreSQL instance.

cp .env.example .env
# edit .env with your DATABASE_URL and SECRET_KEY
uv run fastapi dev app/main.py

Or with Docker/Podman:

podman-compose up

First run

A fresh database has no user accounts, so there is nothing to sign in with. The login page will say so; create the first user from the command line:

uv run rabbitdb --create-user

Inside a container:

podman exec -it <container> rabbitdb --create-user

It prompts for a username, a role (admin, staff or viewer) and a password. The password is only ever prompted for, never passed as an argument, so it stays out of your shell history and the process list. Use the same command any time you need to add another account without going through the web UI.


Created with Claude Code