From 4e4d72c0d6398118ab025c03165d330407eed053 Mon Sep 17 00:00:00 2001 From: Timothy Yin Date: Sun, 16 Nov 2025 23:27:25 +0800 Subject: [PATCH] chore: update server port to 3001 and remove unnecessary .gitkeep files --- README.md | 236 +++++++++++++++++++++++++++++++ apps/csms/src/index.ts | 2 +- hardware/{ => firmware}/.gitkeep | 0 hardware/pcb-kicad/.gitkeep | 0 4 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 README.md rename hardware/{ => firmware}/.gitkeep (100%) create mode 100644 hardware/pcb-kicad/.gitkeep diff --git a/README.md b/README.md new file mode 100644 index 0000000..2faffd5 --- /dev/null +++ b/README.md @@ -0,0 +1,236 @@ +# Helios EVCS - EV Charging Station Management System + +*这是一个毕业设计项目,旨在提供一个完整的电动汽车充电站管理系统(EV Charging Station Management System)。* + +## 📋 项目概述 + +Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含后端 CSMS(充电管理系统)和前端 Web 应用。 + +## 🏗️ 项目结构 + +``` +helios-evcs/ +├── apps/ # 应用程序包 +│ ├── csms/ # 后端 CSMS 平台服务(Hono + Node.js) +│ └── web/ # 前端云平台应用(Next.js 15 + React 19)[submodule] +├── hardware/ # 硬件和固件工程 +│ ├── firmware/ # 充电桩固件 +│ └── pcb-kicad/ # PCB 设计文件(KiCAD) +├── package.json +├── pnpm-workspace.yaml +├── pnpm-lock.yaml +└── .gitmodules +``` + +## 📦 工作区包 + +### `apps/csms` - 充电管理系统后端 +- **技术栈**:Node.js + Hono + TypeScript +- **端口**:3001(默认) +- **职责**: + - OCPP 协议实现 + - 充电设备管理 + - 用户认证与授权 + - 实时数据处理 + - RESTful API 接口 + +### `apps/web` - 前端管理界面(子模块) +- **技术栈**:Next.js 15 + React 19 + Tailwind CSS +- **端口**:3000(默认) +- **源仓库**:https://github.com/HoshinoSuzumi/helios +- **职责**: + - 充电站管理界面 + - 实时监控面板 + - 数据可视化 + - 用户管理 + +### `hardware/` - 硬件和固件工程 +- **firmware/** - 充电桩微控制器固件代码 + - 设备驱动实现 + - 通信协议栈 + - 实时控制逻辑 + +- **pcb-kicad/** - PCB 电路板设计 + - KiCAD 工程文件 + - 电路原理图 + - PCB 布局设计 + - BOM 物料清单 + +## 🚀 快速开始 + +### 前置要求 +- Node.js >= 18 +- pnpm >= 10.18.2 + +### 安装依赖 + +```bash +# 安装根工作区和所有子包的依赖 +pnpm install +``` + +### 开发 + +```bash +# 启动所有开发服务器(CSMS + Web) +pnpm dev + +# 仅启动后端 +pnpm dev:csms + +# 仅启动前端 +pnpm dev:web +``` + +访问: +- 前端应用:http://localhost:3000 +- 后端 API:http://localhost:3001 + +### 构建 + +```bash +# 构建所有包 +pnpm build + +# 仅构建后端 +pnpm build:csms + +# 仅构建前端 +pnpm build:web +``` + +### 生产启动 + +```bash +# 启动后端 +pnpm start:csms + +# 启动前端 +pnpm start:web +``` + +## 📝 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 运行特定包命令 + +```bash +# 在指定包中运行命令 +pnpm --filter csms +pnpm --filter helios-web + +# 示例:在 csms 中运行测试 +pnpm --filter csms run test +``` + +### 安装包到特定工作区 + +```bash +# 在根安装(所有包共用) +pnpm add + +# 在特定包中安装 +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 +``` + +## 📚 技术文档 + +### 后端开发 +- 详见 `apps/csms/README.md` +- Hono 框架文档:https://hono.dev +- OCPP 协议规范:https://www.openchargealliance.org + +### 前端开发 +- 详见 `apps/web/README.md` +- Next.js 文档:https://nextjs.org/docs +- Tailwind CSS:https://tailwindcss.com + +## 🛠️ 环境配置 + +### 环境变量 + +创建 `.env.local` 文件(根据需要在各包目录下): + +**后端 (`apps/csms/.env.local`):** +```env +NODE_ENV=development +PORT=3001 +# 其他配置项... +``` + +**前端 (`apps/web/.env.local`):** +```env +NEXT_PUBLIC_API_URL=http://localhost:3001 +# 其他配置项... +``` + +## 🔒 代码质量 + +### ESLint 配置 +- 使用 Next.js 的 ESLint 规则 +- 开发时自动检查(可选) + +### TypeScript +- 严格模式启用 +- 所有包使用统一的 TypeScript 版本 + +## 📦 发布/部署 + +### 构建产物 +```bash +# 构建后的文件位置 +apps/csms/dist/ # 后端构建输出 +apps/web/.next/ # 前端构建输出 +``` + +## 👤 作者 + +- **Timothy Yin** - master@uniiem.com + +## 🔗 相关资源 + +- 前端仓库:https://github.com/HoshinoSuzumi/helios +- OCPP 标准:https://www.openchargealliance.org diff --git a/apps/csms/src/index.ts b/apps/csms/src/index.ts index f74910a..72c6bac 100644 --- a/apps/csms/src/index.ts +++ b/apps/csms/src/index.ts @@ -9,7 +9,7 @@ app.get('/', (c) => { serve({ fetch: app.fetch, - port: 20128 + port: 3001 }, (info) => { console.log(`Server is running on http://localhost:${info.port}`) }) diff --git a/hardware/.gitkeep b/hardware/firmware/.gitkeep similarity index 100% rename from hardware/.gitkeep rename to hardware/firmware/.gitkeep diff --git a/hardware/pcb-kicad/.gitkeep b/hardware/pcb-kicad/.gitkeep new file mode 100644 index 0000000..e69de29