A full-stack demo application for a Claude Code workshop — inventory management, order tracking, demand forecasting, and analytics for factory operations.
- Frontend: Vue 3 + Vite (port 3000)
- Backend: Python FastAPI (port 8001)
- Data: In-memory mock data (no database)
- Dashboard with interactive filtering and key metrics
- Inventory tracking across multiple warehouses
- Order management with status tracking
- Demand forecasting with trend analysis
- Backlog monitoring
- Spending analytics
One-command startup:
./scripts/start.sh
# Starts both backend and frontend
# Backend: http://localhost:8001
# Frontend: http://localhost:3000
# API Docs: http://localhost:8001/docsManual startup:
Backend:
cd server
uv venv && uv sync
uv run python main.pyFrontend:
cd client
npm install
npm run devAll endpoints support optional filtering via query params: warehouse, category, status, month
GET /api/inventory- Inventory itemsGET /api/orders- OrdersGET /api/demand- Demand forecastsGET /api/backlog- Backlog itemsGET /api/dashboard/summary- Summary statisticsGET /api/spending/*- Spending data
Mock data includes:
- Inventory items (Circuit Boards, Sensors, Actuators, Controllers)
- Orders spanning 12 months (Delivered, Shipped, Processing, Backordered)
- Demand forecasts with trends
- Backlog items
- Spending transactions
Data files: server/data/*.json
cd client
npm run build # Output: client/dist/macOS/Linux: The one-command startup script (./scripts/start.sh) and stop script (./scripts/stop.sh) work out of the box.
Windows: The shell scripts in scripts/ are macOS/Linux only. Use the manual startup commands instead — run each in a separate terminal:
Backend:
cd server
uv venv && uv sync
uv run python main.pyFrontend:
cd client
npm install
npm run devTo stop the servers, press Ctrl+C in each terminal window.
Note: Demo application with in-memory data. Not production-ready without database, authentication, and security implementation.
