diff --git a/README.md b/README.md index ae4ed43..e35d61d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ _这是一个毕业设计项目,旨在尝试实现一个完整的电动汽车 ## 📋 项目概述 -Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含后端 CSMS(充电管理系统)和前端 Web 云平台应用。并设计了一个基于 ESP32,演示用的充电桩终端固件和 PCB 设计。 +Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含 CSMS(充电管理系统)的前端应用和后端服务。并设计了一个基于 ESP32 的,可演示用的充电桩终端固件和 PCB 设计。 ## 🏗️ 项目结构 @@ -15,19 +15,18 @@ helios-evcs/ │ └── web/ # 前端云平台应用(Next.js 15 + React 19)[submodule] ├── hardware/ # 硬件和固件工程 │ ├── firmware/ # 充电桩固件 -│ └── pcb-kicad/ # PCB 设计文件(KiCAD) +│ └── pcb/ # PCB 设计文件(KiCAD) ├── package.json ├── pnpm-workspace.yaml -├── pnpm-lock.yaml -└── .gitmodules +└── pnpm-lock.yaml ``` ## 📦 工作区包 -### `apps/csms` - 充电管理系统后端 +### `apps/csms` - CSMS 后端 - **技术栈**:Node.js + Hono + TypeScript -- **端口**:3001(默认) +- **端口**:3001 - **职责**: - OCPP 协议实现 - 充电设备管理 @@ -35,16 +34,17 @@ helios-evcs/ - 实时数据处理 - RESTful API 接口 -### `apps/web` - 前端管理界面(子模块) +### `apps/web` - CSMS 前端 -- **技术栈**:Next.js 15 + React 19 + Tailwind CSS -- **端口**:3000(默认) -- **源仓库**:https://github.com/HoshinoSuzumi/helios +- **技术栈**:Next.js 16 + React 19 + Tailwind CSS +- **端口**:3000 - **职责**: - - 充电站管理界面 - - 实时监控面板 - - 数据可视化 + - 充电桩管理 + - 概览监控面板 + - 储值卡管理 - 用户管理 + - 充电会话历史 + - 远程启动/停止充电 ### `hardware/` - 硬件和固件工程 @@ -52,17 +52,18 @@ helios-evcs/ - 设备驱动实现 - 通信协议栈 - 实时控制逻辑 -- **pcb-kicad/** - PCB 电路板设计 +- **pcb/** - PCB 电路板设计 - KiCAD 工程文件 - 电路原理图 - PCB 布局设计 - BOM 物料清单 + - 制造文件(Gerber) ## 🚀 快速开始 ### 前置要求 -- Node.js >= 18 +- Node.js >= 20 - pnpm >= 10.18.2 ### 安装依赖 @@ -78,6 +79,8 @@ pnpm install # 启动所有开发服务器(CSMS + Web) pnpm dev +# 迁移数据库 +pnpm --filter csms run db:migrate # 仅启动后端 pnpm dev:csms @@ -111,21 +114,11 @@ pnpm start:csms # 启动前端 pnpm start:web + +# 生产环境使用 docker compose +docker compose up -d --build ``` -## 📝 Scripts 说明 - -| 命令 | 描述 | -| ----------------- | ---------------------- | -| `pnpm dev` | 启动所有服务的开发模式 | -| `pnpm dev:csms` | 启动后端开发服务器 | -| `pnpm dev:web` | 启动前端开发服务器 | -| `pnpm build` | 构建所有包 | -| `pnpm build:csms` | 构建后端 | -| `pnpm build:web` | 构建前端 | -| `pnpm start:csms` | 生产环境启动后端 | -| `pnpm start:web` | 生产环境启动前端 | - ## 🔧 工作区管理 ### 使用 pnpm filter 运行特定包命令 @@ -133,7 +126,7 @@ pnpm start:web ```bash # 在指定包中运行命令 pnpm --filter csms -pnpm --filter helios-web +pnpm --filter web # 示例:在 csms 中运行测试 pnpm --filter csms run test @@ -143,42 +136,11 @@ pnpm --filter csms run test ```bash # 在根安装(所有包共用) -pnpm add +pnpm add -w # 在特定包中安装 pnpm --filter csms add -pnpm --filter helios-web add -``` - -## 📁 Git 子模块管理 - -`apps/web` 作为 Git 子模块管理: - -```bash -# 初始化并更新子模块 -git submodule update --init --recursive - -# 更新子模块到最新版本 -git submodule update --remote - -# 克隆包含子模块的仓库 -git clone --recurse-submodules -``` - -在子模块内修改后的工作流: - -```bash -# 在 apps/web 目录内提交更改 -cd apps/web -git add . -git commit -m "feat: xxx" -git push - -# 返回主仓库,更新子模块引用 -cd .. -git add apps/web -git commit -m "chore: update helios submodule" -git push +pnpm --filter web add ``` ## 📚 技术文档