← All templates

Inventory Management

Operations & IoT · React + Node (Express) · 22 @molecule/* packages

Cin7-like inventory management with stock levels, SKUs, warehouses, and low-stock alerts — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • import-export
  • reporting
  • alerts
  • multi-warehouse
  • subscriptions

Screens (17)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Inventory /inventory (signed in)
  • ProductDetail /products/:id (signed in)
  • Warehouses /warehouses (signed in)
  • Orders /orders (signed in)
  • Reports /reports (signed in)
  • Settings /settings (signed in)
  • OrderDetail /orders/:id (signed in)
  • WarehouseDetail /warehouses/:id (signed in)
  • StockTransfer /transfers (signed in)
  • Notifications /notifications (signed in)
  • Profile /profile (signed in)

Data model (12 tables)

  • alert_rules — id, product_id, warehouse_id, type, threshold, notify_email, enabled, created_by, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • inventory_alerts — id, rule_id, product_id, warehouse_id, type, severity, message, status, …
  • products — id, user_id, name, sku, barcode, category, unit, cost_price, …
  • stock_levels — id, product_id, warehouse_id, quantity, created_at, updated_at, updatedAt
  • stock_movements — id, product_id, warehouse_id, quantity_change, reason, reference, performed_by, created_at, …
  • stock_transfer_items — id, transfer_id, product_id, quantity, created_at, updatedAt
  • stock_transfers — id, from_warehouse_id, to_warehouse_id, status, notes, created_by, completed_at, created_at, …
  • warehouses — id, user_id, name, code, address, city, country, capacity, …
  • orders — id, user_id, reference, type, status, partner, warehouse_id, expected_at, …
  • order_items — id, order_id, product_id, sku, name, expected_quantity, received_quantity, unit_cost_cents, …
  • notifications — id, user_id, kind, icon, title, body, href, read, …

API (10 handlers)

  • \_seed api/src/handlers/_seed.ts
  • alerts api/src/handlers/alerts.ts
  • dashboard api/src/handlers/dashboard.ts
  • notifications api/src/handlers/notifications.ts
  • orders api/src/handlers/orders.ts
  • products api/src/handlers/products.ts
  • reports api/src/handlers/reports.ts
  • stock api/src/handlers/stock.ts
  • transfers api/src/handlers/transfers.ts
  • warehouses api/src/handlers/warehouses.ts

Subscription tiers

free / pro / team — gated by: maxAlerts, maxProducts, maxStock, maxTransfers, maxWarehouses, advancedFeatures, canExport, retentionDays

Built from 22 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key
  • MAILGUN_API_KEY Mailgun API key for alert emails
  • MAILGUN_DOMAIN Mailgun sending domain

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing