oceans2alaska 49f2c28a46
Some checks are pending
CI / verify (push) Waiting to run
Add interactive analytics drill-downs
Make demo search, filters, exports, and controls functional while exposing dedicated KPI detail pages with tested breakdowns.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 13:14:22 -07:00
2026-07-25 13:14:22 -07:00
2026-07-25 11:34:34 -07:00
2026-07-25 11:34:34 -07:00

Solaire Inventory Intelligence

Solaire is a single-customer pilot for understanding produce inventory health, freshness risk, branch and salesperson performance, and advisory pricing opportunities. It currently runs on deterministic demo data and is structured to connect to Odoo Inventory and Salesforce later.

What is included

  • Friendly, responsive overview with inventory value, revenue, sell-through, and freshness risk
  • Batch-level stock health estimated from received date and configurable product shelf life
  • Product, branch, and salesperson performance views
  • Explainable pricing and promotion recommendations with protected margin floors
  • Odoo and Salesforce adapter boundaries plus working mock syncs
  • Tenant-scoped PostgreSQL schema, signed pilot sessions, CI, Docker, and automated tests

Pricing is advisory only. Solaire does not write price changes to external systems.

Run locally

Requirements: Node.js 22+ and npm.

npm install
cp .env.example .env.local
npm run dev

Open http://localhost:3000. Demo mode does not require a database.

To exercise authentication, set REQUIRE_AUTH=true. The default pilot login is:

  • Email: demo@solaire.app
  • Password: solaire-demo

Change all demo secrets before deployment.

PostgreSQL and migrations

docker compose up -d postgres
npm run db:generate
npm run db:migrate

The UI intentionally uses the in-memory demo source until real integration credentials are available. The Drizzle schema is the persistence contract for the production sync service.

Quality checks

npm run check
npm run build
npx playwright install chromium
npm run test:e2e

Architecture

  • src/app — Next.js routes, APIs, and dashboard pages
  • src/components — reusable dashboard and interactive UI
  • src/domain — freshness, analytics, and pricing recommendation logic
  • src/integrations — normalized adapters, mock sources, and sync orchestration
  • src/db — tenant-aware Drizzle schema and PostgreSQL client
  • src/lib/demo-data.ts — repeatable pilot scenarios

Every business entity carries an organizationId. The seeded pilot has one organization, but authorization boundaries, indexes, and source-system uniqueness constraints are ready for multiple tenants.

Real integration handoff

Odoo

Confirm the customers Odoo version, hosting model, database name, and external API entitlement. Odoo 19+ can use JSON-2 with a bearer API key. Older supported versions require a version-specific XML-RPC/JSON-RPC adapter. Map products, warehouses/locations, received stock, quantities, and completed stock moves into Solaires normalized types.

Salesforce

Create a Salesforce External Client App and dedicated integration user, then confirm which standard or custom objects represent branches, salespeople, completed orders, and line items. Mapping belongs in the adapter configuration; analytics must not depend on Salesforce object names.

Freshness assumptions

The pilot does not claim sensor, harvest, or inspection data. Freshness is:

remaining shelf life = configured shelf-life days - days since received

Staff should always confirm physical quality before disposal, transfer, markdown, or promotion.

Deployment notes

The Dockerfile uses Next.js standalone output. For production, provide PostgreSQL, a strong SESSION_SECRET, encrypted integration credentials, HTTPS, and a scheduled worker process for PostgreSQL-backed sync jobs. Add audit retention and secret rotation policies before onboarding additional customers.

Description
Solaire is a modular asset-tracking and business intelligence platform designed to give organizations complete visibility into sales, inventory, transportation, and product lifecycles. Beyond monitoring sales performance, Solaire tracks inventory from production and procurement through transportation, delivery, and final sale. This provides a real-time view of where products are located, how long they have been in transit or on the shelf, and whether they are approaching expiration or becoming unprofitable. Solaire is designed to integrate with multiple CRM, ERP, asset-tracking, logistics, and project-management platforms. By combining data from existing systems and cost-effective open-source solutions, Solaire creates a single centralized dashboard without requiring businesses to replace their current software. What sets Solaire apart is its ability to transform operational data into actionable recommendations. The platform can help identify: Which products are selling and generating the most profit Which products regularly expire or fail to produce a return Where inventory is currently located How long inventory has been in production, transit, or storage Whether aging inventory is affecting sales or customer satisfaction Where delays and inefficiencies exist within the supply chain By connecting sales performance with inventory age, transportation time, product quality, and customer relationship data, Solaire helps organizations understand why certain products succeed while others fail. These insights allow businesses to streamline production, reduce transportation delays, minimize waste, improve customer satisfaction, and keep inventory moving before it loses value or expires.
Readme 201 KiB
Languages
TypeScript 98.9%
CSS 0.4%
JavaScript 0.4%
Dockerfile 0.3%