mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
DOCS (~85k words): - PRD-Master + 6 Sub-PRDs (platform, customer 360, whatsapp, pipeline, ai, nuvemshop) - 60 Business Rules catalog (T/L/W/P/AT/IA/B prefixes with enforcement layer) - 8 Technical Specs (~60k words) — schema SQL, code patterns, flows - 15 Mermaid architecture diagrams (C4, ER, sequence, state machines) - Pitch deck for SP meeting 2026-04-29 - Reference synthesis from CRM Nichado WAHA bundle CODE SCAFFOLDING (38 files, ~1.7k lines): - Next.js 15 App Router + TypeScript + Tailwind + shadcn/ui - Supabase clients (browser, server, admin) via @supabase/ssr - API wrappers (ok, fail, ApiSuccess<T>, ApiError) + canonical error codes - env.ts with Zod validation; .env.example exhaustive - Health check /api/v1/health (Supabase + Redis + WAHA pings) - docker-compose for local WAHA dev - vercel.ts with 7 cron schedules - CLAUDE.md with project conventions and anti-patterns SUPABASE SCHEMA DEPLOYED (sa-east-1, project rrydmwnporysaiysiztn): - 19 tables with RLS enabled - platform_base: organizations, user_organizations, platform_admins, api_tokens, api_audit_log (append-only), user_recovery_codes, idempotency_keys - event_log + emit_event/fn_log_event helpers (bus interno; trigger NEVER calls HTTP) - customer_360: contacts (CPF encrypted via pgcrypto), crm_pipelines, crm_stages, crm_leads, crm_lead_activities, crm_lead_links, merge_queue - whatsapp: channel_sessions, channel_session_warmup, conversations, messages, webhook_events_log - Triggers: auto won/lost via stage flags, denorm last_activity_at, emit lead/message events, seed default pipeline on org create, validate lost_reason - RLS helpers: fn_user_org_ids, fn_is_platform_admin, fn_user_role_in_org, fn_role_at_least - 4 migrations applied: 0001 platform_base, 0002 event_log+compat, 0003 customer_360, 0004 whatsapp_waha 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 lines
221 B
Plaintext
12 lines
221 B
Plaintext
{
|
|
"semi": true,
|
|
"singleQuote": false,
|
|
"trailingComma": "all",
|
|
"printWidth": 100,
|
|
"tabWidth": 2,
|
|
"useTabs": false,
|
|
"arrowParens": "always",
|
|
"endOfLine": "lf",
|
|
"plugins": ["prettier-plugin-tailwindcss"]
|
|
}
|