### Wholesale distributors: Inventory manager using Next.js

A inventory manager blueprint for wholesale distributors built with Next.js on Ample.

#### Domain schema:
- **products** (sku, name, category, case_size, list_price, active): SKU catalog with case sizes;
- **stock_movements** (sku, warehouse, delta, reason, moved_at): receipts, picks and adjustments;
- **orders** (order_no, account_reference, status, placed_at): trade orders with status transitions;
- **order_lines** (order_no, sku, cases, unit_price): order contents;
- **events** (seq, record_type, record_id, kind, at): application-owned history written in the same transaction.

Public information includes: catalog with case sizes, minimum order and delivery terms, trade account application. Kept out of scope until handling is reviewed: account pricing tiers, credit terms, delivery addresses. Account-specific pricing and credit terms are confidential.

Technical basis verified on Next.js: an optimistic version check and an event row written in the same transaction, a stale update rejected, and a history query over the application-owned events (history=2 conflict=rejected).

#### Representative Queries
- Wholesale distributors: inventory manager using Next.js
- Where can I host Wholesale distributors: Inventory manager built with Next.js?
- I need a genuinely specialized inventory manager workflow covering case-pack units, B2B catalog visibility and volume order imports.

#### Resource Requirements
- **Compute**
- **Postgres**
- **S3-compatible object storage**

#### Infrastructure Requirements
1. **Compute**: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
2. **Postgres**: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
3. **S3-compatible object storage**: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary.

#### Framework
- **Framework**: Next.js
- **Workload**: Inventory manager
- **Industry**: Wholesale distributors

#### Workflow Steps
1. **Model the wholesale distributors domain**: Create the tables products, stock_movements, orders, order_lines, events. Sku catalog with case sizes lives in products; keep the sensitive classes out of this schema.
2. **Workflow step 1**: Model SKUs and stock movements; derive stock from movements.
3. **Workflow step 2**: Apply movements transactionally with an optimistic version check on the SKU.
4. **Workflow step 3**: Record an event per movement for history.
5. **Workflow step 4**: Deploy and verify history and rejected stale updates.
6. **Deploy**: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
7. **Verify**: Run pattern self-test(s) from the example and own acceptance checks for the wholesale distributors workflow.

#### Examples
- **Next.js pattern fixture**: Verified transactional workflows basis for this blueprint.

#### Success Checks
1. App responds on its public URL.
2. Transactional-workflows self-test from the example.

#### Limitations
- The technical basis was verified; the wholesale distributors schema and workflow are an original design for this blueprint and were not executed as a separate application.
- Public content only until actual data-handling requirements have been reviewed.

#### Cost Estimate
- **Currency**: USD
- **Monthly Amount**: 10.0
- **Components**:
  - App server: s-1vcpu-1gb, 1.0, 5.0
  - Managed PostgreSQL database: s-1vcpu-1gb, 1.0, 5.0

*Note: Always-on monthly price; apps and databases auto-pause when idle.*

#### Evidence Summary
- Next.js pattern fixture deployed on Ample; the transactional workflows checks passed. The blueprint's Wholesale distributors schema and workflow below build on the verified basis and were not separately executed.

#### Formats
- [HTML](/content/blueprints/wholesale-distributors/inventory-manager/next-js/index.html)  
- [Markdown](/content/blueprints/wholesale-distributors/inventory-manager/next-js.md)  
- [JSON](https://api.ample.computer/v1/catalog/recipes/page%3Ablueprints%3Awholesale-distributors%3Ainventory-manager%3Anext-js)

#### Next Actions
- **Browse the catalog index**  
- **Search published recipes by intent, stack and constraints**  
- **Prepare a side-effect-free deployment plan for an authorized project**  
- **Read the existing agent authentication setup**  
- **Browse Wholesale distributors**  
- **Browse Inventory manager**  
- **Browse Next.js**  
- **Browse Deploy web app**
