Skip to content

Latest commit

 

History

History

README.md

@objectstack/example-crm — Minimal CRM Smoke-Test App

A deliberately tiny CRM workspace that exercises the metadata application loading pipeline end-to-end. It is not a feature showcase — for the full enterprise reference (10+ objects, AI agents, RAG, sharing rules, approval flows, multi-driver E2E) see github.com/objectstack-ai/hotcrm.

Purpose

This example exists so the framework monorepo can validate that a realistic, relational metadata bundle compiles and boots:

  • objects/ — 3 related objects (account, contact, opportunity) with lookup, select, formula, and currency field types
  • views/ — list + form views for one object (exercise the view loader)
  • apps/ — one app shell with grouped navigation
  • dashboards/ — one dashboard widget
  • hooks/ — one beforeInsert hook (formula-derived data)
  • flows/ — one record-triggered automation flow
  • data/ — small seed dataset using defineDataset + cel\...`` install-time expressions
  • tests/smoke.test.ts — Zod-validates every piece of metadata

How to run

# From the monorepo root
pnpm --filter @objectstack/example-crm dev

# Or from this directory
cd examples/app-crm
pnpm dev          # starts CLI dev server (REST API + Studio UI)
pnpm build        # compiles to dist/objectstack.json
pnpm test         # vitest smoke test

Open http://localhost:3000/_studio/ after pnpm dev boots.

What this example is not

  • Not a "real" CRM — fields and relationships are intentionally minimal.
  • Not a place to add new feature demos. Add them to hotcrm instead.
  • Not a driver-acceptance harness. Driver E2E lives next to each driver package (packages/plugins/driver-*/src/*.test.ts) and in hotcrm.

License

Apache-2.0