Skip to content

Tổng quan Hệ thống (Codebase Analysis)

Thông tin nhanh

  • Dự án: service-crm (SaleHay)
  • Loại hình: Nền tảng CRM + Affiliate Marketing cho ngành dịch vụ
  • Ngôn ngữ: JavaScript, HTML, CSS, SQL
  • Stack: Vite, React, TailwindCSS v4, Cloudflare Workers/Pages, Neon PostgreSQL, MCP SDK
  • Quy mô: ~50.000+ dòng code, 5 ứng dụng, 30 migration files

Xem chi tiết: Kiến trúc · Database · Deployment

1. Kiến trúc 5 Tầng

Hệ thống gồm 5 ứng dụng phối hợp qua Cloudflare Workers API:

Ứng dụngDomainChức năngXác thực
Adminapp.salehay.comCRM dashboard — leads, bookings, customers, reportsJWT (tenant-scoped)
Landingsalehay.comMarketing — 8 industry pages, affiliate program, playbooksPublic
Portalportal.salehay.comQuản lý multi-org — billing, affiliates, invoices, taxJWT (org-scoped)
Affiliateaff.salehay.comCổng CTV — dashboard, referrals, earnings, linksJWT (affiliate-scoped)
MCP ServerLocal (stdio)AI Agent bridge — 7 CRM tools qua MCP ProtocolAgent Token

2. Cấu trúc thư mục

service-crm/
├── admin/               # Admin Dashboard (React + Vite + TailwindCSS v4)
│   ├── src/pages/       # 16 pages + settings/ + landing/
│   ├── src/components/  # Shared components
│   └── src/lib/         # API client, auth context
├── landing/             # Marketing Landing (React + Vite)
│   └── src/pages/landing/  # 19 pages (8 industries + affiliate + playbooks)
├── portal/              # Multi-Org Portal (React + Vite)
│   └── src/pages/       # 11 pages (orgs, billing, affiliates, tax)
├── aff/                 # Affiliate Portal (React + Vite)
│   └── src/pages/       # 7 pages (dashboard, referrals, earnings, links, profile)
├── api/                 # Backend API (Cloudflare Workers)
│   ├── src/routes/      # 23 route files
│   ├── src/lib/         # webhook-emitter, tracking
│   ├── src/auth.js      # JWT + API Key authentication
│   ├── src/agent-auth.js # Agent Token authentication
│   └── src/rbac.js      # Role-Based Access Control
├── mcp-server/          # MCP Server cho AI Agent
├── openfang-hand/       # OpenFang HAND config
├── skills/              # CRM Skills (operations, outreach, analytics)
├── schema/              # Database migrations (001-030)
├── docs/                # Tài liệu nguồn
├── docs-public/         # Tài liệu công khai (Astro Starlight)
└── docs-internal/       # Tài liệu nội bộ (Astro Starlight)

3. Các module Backend API (23 routes)

NhómRoutesXác thựcMô tả
Authauth, auth-advancedJWTLogin, register, OAuth, OTP, team, roles
CRM Coreleads-v2, customers, bookingsJWTCRUD + pipeline, assign, convert
Telesalescall-logs, call-scriptsJWTGhi nhận cuộc gọi, kịch bản
Catalogcatalog, services-listJWTCategories, services, products, packages
PaymentspaymentsJWTThanh toán, bank accounts, VietQR
Reportsdashboard, reports, activitiesJWTFunnel, cohort, marketing, export
Publicpublic-leads, public-pages, queue, reviewsAPI Key / PublicLead intake, booking, queue, reviews
Agentagent-api, agent-tokens, webhooksAgent Token7 AI agent endpoints + webhooks
ResourcesresourcesJWTTài liệu download

4. Database Schema (30 Migrations)

Migration GroupFilesTables chính
Core CRM001-009admin_users, tenants, customers, services, bookings, leads, reviews, queue, call_logs
Seed Data010-018Dữ liệu mẫu cho 7 ngành (dental, nail, hair, beauty, gym, pet, clinic, spa)
Auth & Public016-019organizations, users, public_pages
Agent Integration020agent_tokens, webhook_subscriptions, webhook_delivery_log
Billing021-023billing, einvoice, tax_reports
Security024audit_trail
Platform Admin025platform_admin tables
Affiliate026-029affiliates, aff_campaigns, aff_links, aff_clicks, aff_referrals, aff_commissions, aff_payouts, org_affiliates
Catalog030service_categories, products, service_packages, package_items, price_history

Xem chi tiết: Database Schema

5. Luồng dữ liệu chính

6. Công nghệ sử dụng

Thành phầnStackGiá trị
4 FrontendsReact / TailwindCSS v4 / ViteSPA, deploy Cloudflare Pages
BackendCloudflare WorkersEdge computing, auto-scale, zero cold-start
DatabaseNeon PostgreSQLServerless, auto-scale, branching
MCP Server@modelcontextprotocol/sdkChuẩn giao tiếp AI Agent ↔ tools
AI AgentOpenFang / OpenClawTự động hóa sales pipeline
AffiliateCustom (7 tables)CTV/KOL/KOC referral + commission tracking
CatalogCustom (6 tables)Categories, services, products, packages, price history

🔒 Internal Documentation — Dev Team Only