一个用于管理灵感、选题和商单的工作台应用,支持财务计算和仪表盘统计。
- 灵感管理:记录灵感、标签分类、星标、归档、转为选题
- 选题管理:选题流程管理、状态跟踪、类型分类
- 商单管理:客户管理、商单跟踪、成本项、收款记录
- 财务计算:自动计算税额、返点、平台费、应收、利润等
- 仪表盘:数据统计概览
- 后端:Node.js + Express + TypeScript + Prisma + SQLite
- 前端:React + TypeScript + Vite + Tailwind CSS
- 认证:JWT
- Node.js 20+(推荐 22 LTS)
- npm
cd backend
cp .env.example .env
# 编辑 .env 文件,设置你的 JWT_SECRET
# 注意:SQLite 的 `file:./...` 相对路径以 `prisma/schema.prisma` 所在目录为基准(即 `backend/prisma/`)。
# 例如数据库文件为 `backend/prisma/dev.db`,则应配置 `DATABASE_URL="file:./dev.db"`。cd backend
npx prisma migrate deploy# 在项目根目录
chmod +x start.sh
./start.shstart.sh 会自动完成这些事情:
- 自动检测
node/npm(兼容 Homebrew、NVM、Volta 常见环境) - 在依赖缺失时自动安装
backend/frontend依赖 - 自动执行
npx prisma generate - 同时启动后端(3001)和前端(3000)
- 按
Ctrl + C可一键停止前后端进程
终端 1 - 后端:
cd backend
npm install
npx prisma generate
npm run dev终端 2 - 前端:
cd frontend
npm install
npm run dev打开浏览器访问 http://localhost:3000
- 点击「注册」创建账号
- 登录后即可使用全部功能
说明当前终端找不到 Node.js:
node -v
npm -v如果命令不存在,请先安装 Node.js(例如 macOS):
brew install node如果已安装但仍找不到,可补 PATH(按你的芯片选择其一):
# Intel Mac
export PATH="/usr/local/opt/node/bin:$PATH"
# Apple Silicon Mac
export PATH="/opt/homebrew/opt/node/bin:$PATH"建议将对应 export PATH=... 写入 ~/.zshrc。
这是 Ruby 环境提示,通常不影响本项目运行。可选择:
- 安装
rbenv - 或注释
~/.zshrc里相关rbenv init行
lsof -i :3000 -i :3001结束占用进程后重新执行 ./start.sh。
.
├── backend/ # 后端代码
│ ├── prisma/ # 数据库模型和迁移
│ │ └── schema.prisma # 数据库 Schema
│ ├── src/
│ │ ├── routes/ # API 路由
│ │ ├── middleware/ # 中间件
│ │ └── utils/ # 工具函数
│ └── package.json
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── pages/ # 页面组件
│ │ ├── components/ # 通用组件
│ │ ├── lib/ # 工具库
│ │ └── store/ # 状态管理
│ └── package.json
└── README.md
- 创建、编辑、删除灵感
- 添加标签分类
- 星标重要灵感
- 归档已完成灵感
- 一键转为选题
- 管理选题状态(待办、调研中、写稿中、拍摄中、剪辑中、已发布)
- 设置优先级和截止日期
- 关联选题类型
- 从灵感转化
- 客户管理
- 商单跟踪
- 财务自动计算:
- 税前金额、税额
- 应收总额
- 返点金额
- 平台费
- 成本合计
- 已收款、应收余额
- 纯利润
- 灵感统计(总数、近7天新增、归档数)
- 选题统计(按状态分布)
- 商单统计(本月应收、回款、利润)
税前金额 = 含税报价 ? 报价 / (1 + 税率) : 报价
税额 = 含税报价 ? 报价 - 税前金额 : 税前金额 * 税率
应收总额 = 含税报价 ? 报价 : (客户承担税 ? 报价 + 税额 : 报价)
返点金额 = 税前口径 ? 税前金额 * 返点率 : 应收总额 * 返点率
平台费 = 税前金额 * 平台费率
纯利润 = 应收总额 - 税额 - 返点金额 - 平台费 - 成本合计
应收余额 = 应收总额 - 已收款
MIT
