How cjhammel/craftroom_inventory works
CraftRoom Product Inventory is a web app for cataloguing craft stamps. Users browse and filter a collection, inspect a stamp, and add or edit records with optional image upload and AI suggestions; they can also manage storage locations and AI settings. The React pages call the FastAPI routes, which own backend operations over stamp and location data. The backend also handles image processing, configuration, and optional AI-server requests. Relationships among frontend pages and routes are supported by excerpts or README endpoint documentation; unsampled implementation details are not inferred.
Main entry points: main.py FastAPI routes · App.jsx React app router · StampForm.jsx Stamp editor · crud.py Catalog operations
Components 16
Inventory UI
- React app router
frontend/src/App.jsx - Stamp search
frontend/src/pages/StampsList.jsx - Stamp details
frontend/src/pages/StampDetail.jsx - Stamp editor
frontend/src/pages/StampForm.jsx - Location and AI settings
frontend/src/pages/Settings.jsx
Application API
- FastAPI routes
backend/app/main.py - Request and response schemas
backend/app/schemas.py
Catalog Data
- Catalog operations
backend/app/crud.py - Stamp and location models
backend/app/models.py - Database sessions
backend/app/database.py
Supporting Services
- App configuration
backend/app/config.py - Image processing
backend/app/image_utils.py
Other components
- Inventory user
- AI analysis server
- Runtime YAML config
config/config.yaml - SQLite catalog
Connections 20
- Inventory user → React app router: uses
README.md - React app router → Stamp search: routes to
frontend/src/App.jsx - React app router → Stamp details: routes to
frontend/src/App.jsx - React app router → Stamp editor: routes to
frontend/src/App.jsx - React app router → Location and AI settings: routes to
frontend/src/App.jsx - Stamp search → FastAPI routes: requests stamps
frontend/src/pages/StampsList.jsx - Stamp details → FastAPI routes: requests record
frontend/src/pages/StampDetail.jsx - Stamp editor → FastAPI routes: submits record
frontend/src/pages/StampForm.jsx - Stamp editor → FastAPI routes: requests analysis
frontend/src/pages/StampForm.jsx - Location and AI settings → FastAPI routes: manages settings
frontend/src/pages/Settings.jsx - FastAPI routes → Request and response schemas: validates data
backend/app/main.py - FastAPI routes → Catalog operations: calls operations
backend/app/main.py - Catalog operations → Stamp and location models: queries entities
backend/app/crud.py - Catalog operations → Database sessions: uses session
backend/app/crud.py - Database sessions → Stamp and location models: initializes tables
backend/app/database.py - Database sessions → SQLite catalog: persists data
README.md - FastAPI routes → Image processing: processes uploads
backend/app/main.py - FastAPI routes → App configuration: reads and updates
backend/app/main.py - App configuration → Runtime YAML config: loads and saves
backend/app/config.py - FastAPI routes → AI analysis server: sends image analysis
README.md