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
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
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 (13 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, …
- user_preferences — id, user_id, data, created_at, updated_at
API (11 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 - preferences
api/src/handlers/preferences.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
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-import-export-csv@molecule/api-payments-stripe@molecule/api-push-notifications-web-push@molecule/api-reporting-database@molecule/api-resource-inventory@molecule/api-resource-order@molecule/api-resource-payment@molecule/api-resource-product@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/app-billing-react@molecule/app-charts@molecule/app-command-palette@molecule/app-data-table@molecule/app-date-range-picker@molecule/app-file-upload@molecule/app-virtual-scroll
Required secrets
DATABASE_URLPostgreSQL connection stringMEILISEARCH_API_KEYMeiliSearch API keyMAILGUN_API_KEYMailgun API key for alert emailsMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing