# NexusCRM **Repository Path**: tsengduke01/nexuscrm ## Basic Information - **Project Name**: NexusCRM - **Description**: 开发者是一名没有编程经验的咨询专家和项目经理,想着把从前场交流到后场交付打通,所以就有了这个CRM系统。 NexusCRM 是一款面向中小微企业的新一代智能CRM系统,集成了客户管理、交易管理、项目管理、团队协作等核心功能,帮助企业实现从线索到回款的全流程数字化管理。 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NexusCRM v2.0 - 智能客户关系管理平台 ## 架构升级说明 v2.0 从 Express 5 + sql.js 迁移到 **Next.js 15 + Supabase**,彻底解决以下问题: | 问题 | v1 (旧) | v2 (新) | |------|---------|---------| | 数据持久化 | 内存数据库 + 手动写盘 | PostgreSQL (Supabase 托管) | | 服务稳定性 | 自管 Node 进程,经常崩溃 | Vercel + Supabase 云托管,零运维 | | 权限控制 | 无 | Supabase RLS (行级安全策略) | | SQL 注入 | 手动转义 | 参数化查询 (Supabase SDK) | | 认证安全 | 硬编码 JWT Secret | Supabase Auth (托管认证服务) | | HTTPS | 需自行配置 | Vercel / Supabase 自动提供 | | TypeScript | 后端用 .cjs 绕过 | 全栈 strict TypeScript,禁止 any | | 代码规范 | 无 | ESLint + .cursorrules + CLAUDE.md | ## 技术栈 - **Next.js 15** (App Router, Server Components, API Routes) - **Supabase** (PostgreSQL + Auth + RLS + Realtime) - **TypeScript** (strict mode, noImplicitAny) - **Tailwind CSS 4** - **@tanstack/react-query** (数据获取) - **Zod** (运行时类型验证) - **Lucide React** (图标) ## 快速开始 ### 1. 创建 Supabase 项目 1. 访问 https://supabase.com 注册/登录 2. 创建新项目,记下 Project URL 和 anon key 3. 在 SQL Editor 中执行 `supabase/migrations/001_initial_schema.sql` 4. 在 Authentication 中创建测试用户: - Email: admin@nexuscrm.com / Password: admin123 5. 创建第二个用户:liwei@nexuscrm.com 6. 执行 `supabase/seed/001_seed_data.sql` 导入种子数据 ### 2. 配置环境变量 ```bash cp .env.local.example .env.local ``` 编辑 `.env.local`: ``` NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIs... ``` ### 3. 安装依赖并启动 ```bash npm install npm run dev ``` 访问 http://localhost:3000,用 admin@nexuscrm.com / admin123 登录。 ## 验证通过 - [x] TypeScript strict mode (0 errors) - [x] ESLint (0 warnings) - [x] Next.js production build (success) - [x] All 9 routes compiled - [x] Middleware auth guard active ## 项目结构 ``` src/ app/ # Next.js App Router (auth)/login/ # 登录页 (dashboard)/ # 受保护页面(含侧边栏布局) dashboard/ # 经营总览 customers/ # 客户资产管理 deals/ # 交易管理 projects/ # 项目执行监控 performance/ # 业绩分析 team/ # 团队管理 settings/ # 系统设置 api/ # API 路由 auth/login/ # 登录 API auth/logout/ # 登出 API customers/ # 客户 CRUD API lib/ supabase/ # Supabase 客户端配置 validations/ # Zod 验证 schema utils.ts # 工具函数 components/ layout/ # Sidebar, Header types/ database.ts # Supabase 自动生成类型 index.ts # 应用类型定义 supabase/ migrations/ # 数据库迁移 seed/ # 种子数据 .cursorrules # AI 编码规范 CLAUDE.md # AI 编码规范 (备选) ``` ## 安全规范 - 禁止 `eval()`, `new Function()`, `innerHTML` - 禁止 SQL 字符串拼接 - 禁止前端硬编码 API 密钥 - 禁止使用 `any` 类型 - 所有表启用 RLS - 所有 API 输入通过 Zod 验证