UI-only Next.js 15 frontend for Image Coffee Roastery, powered by the
A1OS Platform API (multi-tenant backend, :3013).
No business logic lives here — the app talks to the platform's REST + WebSocket APIs.
- Login / Settings — SSO-style session tokens; change password invalidates other sessions
- Dashboard — KPIs (assets, stock value, receivables), trial-balance status, live realtime feed, low-stock alerts
- Products — catalog (green beans, roasted coffee, blends); duplicate-SKU protection
- Inventory — on-hand stock, receipts/issues/adjustments, negative-stock protection, movement log
- Ledger — double-entry journal, account balances, trial balance
- Parties — customers, suppliers, farmers, buyers
- Notifications — alerts queue with status filtering
npm install
NEXT_PUBLIC_API_URL=http://127.0.0.1:3013 npm run dev # dev
npm run build && npm run start # production
NEXT_PUBLIC_API_URL defaults to http://127.0.0.1:3013.
- Next.js 15 (App Router), React 19, plain CSS (no UI framework)
- Client-side data layer:
lib/api.js(token store, fetch wrapper, error handling),lib/ws.js(WebSocket with auto-reconnect),lib/useApi.js(fetch hook)