Skip to content

灵感工作台:灵感/选题/商单管理 + 财务计算 + 仪表盘(React + Node + Prisma + SQLite

Notifications You must be signed in to change notification settings

laogou717/inspiration-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

灵感工作台

灵感工作台封面

一个用于管理灵感、选题和商单的工作台应用,支持财务计算和仪表盘统计。

功能特性

  • 灵感管理:记录灵感、标签分类、星标、归档、转为选题
  • 选题管理:选题流程管理、状态跟踪、类型分类
  • 商单管理:客户管理、商单跟踪、成本项、收款记录
  • 财务计算:自动计算税额、返点、平台费、应收、利润等
  • 仪表盘:数据统计概览

技术栈

  • 后端:Node.js + Express + TypeScript + Prisma + SQLite
  • 前端:React + TypeScript + Vite + Tailwind CSS
  • 认证:JWT

快速开始

环境要求

  • Node.js 20+(推荐 22 LTS)
  • npm

1. 配置环境变量

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"`。

2. 初始化数据库(首次运行需要)

cd backend
npx prisma migrate deploy

3. 一键启动(推荐)

# 在项目根目录
chmod +x start.sh
./start.sh

start.sh 会自动完成这些事情:

  • 自动检测 node/npm(兼容 Homebrew、NVM、Volta 常见环境)
  • 在依赖缺失时自动安装 backend/frontend 依赖
  • 自动执行 npx prisma generate
  • 同时启动后端(3001)和前端(3000)
  • Ctrl + C 可一键停止前后端进程

4. 手动启动(可选)

终端 1 - 后端:

cd backend
npm install
npx prisma generate
npm run dev

终端 2 - 前端:

cd frontend
npm install
npm run dev

访问应用

打开浏览器访问 http://localhost:3000

  1. 点击「注册」创建账号
  2. 登录后即可使用全部功能

常见问题

1. env: node: No such file or directory

说明当前终端找不到 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

2. /Users/xxx/.zshrc: command not found: rbenv

这是 Ruby 环境提示,通常不影响本项目运行。可选择:

  • 安装 rbenv
  • 或注释 ~/.zshrc 里相关 rbenv init

3. 端口被占用(3000/3001)

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

About

灵感工作台:灵感/选题/商单管理 + 财务计算 + 仪表盘(React + Node + Prisma + SQLite

Resources

Stars

Watchers

Forks

Packages

No packages published