Parts inventory: catalog, search, and stock tracking

FastAPI + SQLite behind a single-page frontend, deployed as a container on
mainserver behind Caddy.

One flexible parts table plus key/value specs so components, filament,
fasteners and tooling share a schema. Categories and locations are nestable
trees whose filters and sidebar counts both roll up through descendants.
Category spec templates pre-fill the properties worth recording for each kind
of part, which is what makes manual entry tolerable. Every quantity change is
logged. Search is FTS5 with prefix matching across names, MPNs, spec values,
tags, category and location.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jay
2026-08-24 09:19:58 -04:00
commit ffe508b7f3
15 changed files with 2330 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Parts inventory — catalog of on-hand components, filament, tooling and stock.
# Caddy serves it at parts.tjm77.com (wildcard DNS on *.tjm77.com already resolves).
services:
parts:
build: .
image: parts
container_name: parts
restart: unless-stopped
env_file: .env
volumes:
- parts_data:/data
networks:
- web
volumes:
parts_data:
networks:
web:
external: true
name: caddy_web