How puneet-swarup/house-of-desserts works
House of Desserts is a self-hosted bakery operations app. Staff use its web interface to manage customers and orders, move orders through fulfillment while tracking payments, consume recipe ingredients into a stock ledger, and produce invoices and business reports. Product and recipe management, the Today production/dispatch view, audit history, and customer messaging are also major capabilities. The map uses documented responsibilities and sampled entry-point wiring; several router-to-service links are shown from module responsibilities rather than inspected route bodies.
Main entry points: main.py FastAPI app · database.py SQLAlchemy database · orders.py Order routes · invoice_service.py Invoice snapshots
Components 25
Web application
- FastAPI app
app/main.py - SQLAlchemy database
app/database.py - Order routes
app/routers/orders.py - Today routes
app/routers/today.py - Customer routes
app/routers/customers.py - Product routes
app/routers/products.py - Ingredient routes
app/routers/ingredients.py - Invoice routes
app/routers/invoices.py - Report routes
app/routers/reports.py - Export routes
app/routers/export.py - Audit routes
app/routers/audit.py
Orders and products
- Order lifecycle
app/services/order_service.py - Customer records
app/services/customer_service.py - Product catalog
app/services/product_service.py
Production and stock
- Recipe BOM
app/services/recipe_service.py - Stock ledger
app/services/inventory_service.py - Dispatch planning
app/services/today_service.py
Finance and records
- Invoice snapshots
app/services/invoice_service.py - Monthly reports
app/services/reports_service.py - Data export
app/services/export_service.py - Audit history
app/services/audit_service.py
External outputs
- WhatsApp links
app/services/whatsapp_service.py - Thermal printer
- Receipt printing
app/utils/escpos_printer.py
Other components
- Bakery staff
Connections 34
- Bakery staff → FastAPI app: uses
- FastAPI app → Order routes: registers
- FastAPI app → Today routes: registers
- FastAPI app → Customer routes: registers
- FastAPI app → Product routes: registers
- FastAPI app → Ingredient routes: registers
- FastAPI app → Invoice routes: registers
- FastAPI app → Report routes: registers
- FastAPI app → Export routes: registers
- FastAPI app → Audit routes: registers
- Order routes → Order lifecycle: handles orders
- Customer routes → Customer records: manages customers
- Product routes → Product catalog: manages products
- Ingredient routes → Stock ledger: manages stock
- Order routes → Stock ledger: starts consumption
- Order routes → Recipe BOM: checks shortages
- Today routes → Dispatch planning: builds today view
- Invoice routes → Invoice snapshots: creates snapshots
- Report routes → Monthly reports: builds reports
- Export routes → Data export: exports data
- Audit routes → Audit history: reads audit
- Order lifecycle → SQLAlchemy database: reads and writes
- Customer records → SQLAlchemy database: reads and writes
- Product catalog → SQLAlchemy database: reads and writes
- Recipe BOM → SQLAlchemy database: reads and writes
- Stock ledger → SQLAlchemy database: records movements
- Dispatch planning → SQLAlchemy database: reads orders and stock
- Invoice snapshots → SQLAlchemy database: stores snapshots
- Monthly reports → SQLAlchemy database: reads business data
- Data export → SQLAlchemy database: reads business data
- Audit history → SQLAlchemy database: reads and writes
- Order routes → WhatsApp links: offers messaging
- Invoice snapshots → Receipt printing: prints snapshot
- Receipt printing → Thermal printer: sends receipt