UI-only prototype built with Next.js App Router, TypeScript, Tailwind CSS, and shadcn/ui-style components. All data is mocked under src/mock and stored in React context for demo-ready flows.
src/
app/
dashboard/
contracts/
new/
[id]/
reports/weekly-shipments/
reconciliation/
settings/master-data/
login/
components/
ui/
app-shell.tsx
breadcrumbs.tsx
csv-download-button.tsx
data-table.tsx
drawer-form.tsx
form-field.tsx
kpi-card.tsx
status-badge.tsx
stepper.tsx
toast-provider.tsx
context/
contracts-context.tsx
lib/
utils.ts
mock/
allocations.ts
contracts.ts
email-log.ts
reconciliation.ts
shipments.ts
types/
index.ts
- Install dependencies:
npm install- Run the dev server:
npm run dev- Open
http://localhost:3000.
- Login: Use any email/password on
/loginand sign in. - Create Contract: Navigate to
/contracts/new, fill in contract details, and submit. - Allocate: On the contract detail page, open the Allocation tab and add allocation lines. Confirm allocation to lock it.
- Shipments: Add shipment advice lines using the drawer. Mark a shipment as shipped in the detail drawer.
- Weekly CSV: Visit
/reports/weekly-shipmentsand click “Generate CSV Now” to download a mock CSV and add a log entry. - Reconciliation: Go to
/reconciliation, upload the mock buyer file, and mark a mismatch as resolved. - Master Data: Review static master data on
/settings/master-data.
- All data is stored in React state (no backend).
- Client-side validation uses Zod.
- Toasts provide feedback for key actions.
- Use the sidebar to move between modules.