chore: apply cargo fmt across workspace and update docs
- Run cargo fmt on all Rust crates for consistent formatting - Update CLAUDE.md with WASM plugin commands and dev.ps1 instructions - Update wiki: add WASM plugin architecture, rewrite dev environment docs - Minor frontend cleanup (unused imports)
This commit is contained in:
@@ -1,20 +1,25 @@
|
||||
# infrastructure (Docker 与开发环境)
|
||||
# infrastructure (开发环境)
|
||||
|
||||
## 设计思想
|
||||
|
||||
开发环境使用 Docker Compose 提供基础设施服务,应用服务在宿主机运行。这种设计允许:
|
||||
- 后端 Rust 服务快速重启(无需容器化构建)
|
||||
开发环境在 **Windows** 宿主机直接运行所有服务:
|
||||
- PostgreSQL 16+ 和 Redis 7+ 通过 Windows 原生安装运行
|
||||
- 后端 Rust 服务通过 `cargo run` 快速重启
|
||||
- 前端 Vite 热更新直接在宿主机
|
||||
- 数据库和缓存服务标准化,团队成员环境一致
|
||||
- PowerShell 脚本 (`dev.ps1`) 提供一键启动/停止
|
||||
|
||||
> Docker Compose 配置保留在 `docker/` 目录下,可供需要容器化环境的场景使用,但日常开发不依赖 Docker。
|
||||
|
||||
## 代码逻辑
|
||||
|
||||
### 服务配置
|
||||
|
||||
| 服务 | 镜像 | 端口 | 用途 |
|
||||
|------|------|------|------|
|
||||
| erp-postgres | postgres:16-alpine | 5432 | 主数据库 |
|
||||
| erp-redis | redis:7-alpine | 6379 | 缓存 + 会话 |
|
||||
| 服务 | 端口 | 用途 |
|
||||
|------|------|------|
|
||||
| PostgreSQL 16+ | 5432 | 主数据库 |
|
||||
| Redis 7+ | 6379 | 缓存 + 会话 |
|
||||
| erp-server (Axum) | 3000 | 后端 API |
|
||||
| Vite dev server | 5174 | 前端 SPA |
|
||||
|
||||
### 连接信息
|
||||
```
|
||||
@@ -22,36 +27,45 @@ PostgreSQL: postgres://erp:erp_dev_2024@localhost:5432/erp
|
||||
Redis: redis://localhost:6379
|
||||
```
|
||||
|
||||
### 健康检查
|
||||
- PostgreSQL: `pg_isready` 每 5 秒,5 次重试
|
||||
- Redis: `redis-cli ping` 每 5 秒,5 次重试
|
||||
### 一键启动
|
||||
|
||||
### 数据持久化
|
||||
- `postgres_data` — 命名卷,PostgreSQL 数据
|
||||
- `redis_data` — 命名卷,Redis 数据
|
||||
```powershell
|
||||
.\dev.ps1 # 启动后端 + 前端
|
||||
.\dev.ps1 -Status # 查看端口状态
|
||||
.\dev.ps1 -Stop # 停止所有服务
|
||||
.\dev.ps1 -Restart # 重启所有服务
|
||||
```
|
||||
|
||||
### 环境变量
|
||||
通过 `docker/.env.example` 文档化,使用默认值即可启动开发环境。
|
||||
通过 `crates/erp-server/config/default.toml` 配置,无需额外环境变量文件即可启动。
|
||||
|
||||
## 关联模块
|
||||
|
||||
- **[[erp-server]]** — 连接 PostgreSQL 和 Redis
|
||||
- **[[database]]** — 迁移在 PostgreSQL 中执行
|
||||
- **[[frontend]]** — Vite 代理 API 到后端
|
||||
- **[[testing]]** — 测试环境详细指南
|
||||
|
||||
## 关键文件
|
||||
|
||||
| 文件 | 职责 |
|
||||
|------|------|
|
||||
| `docker/docker-compose.yml` | 服务定义 |
|
||||
| `docker/.env.example` | 环境变量模板 |
|
||||
| `dev.ps1` | 一键启动/停止脚本 |
|
||||
| `docker/docker-compose.yml` | 可选的 Docker Compose 配置 |
|
||||
| `crates/erp-server/config/default.toml` | 默认连接配置 |
|
||||
|
||||
## 常用命令
|
||||
|
||||
```bash
|
||||
cd docker && docker compose up -d # 启动服务
|
||||
docker compose -f docker/docker-compose.yml ps # 查看状态
|
||||
docker compose -f docker/docker-compose.yml down # 停止
|
||||
docker exec -it erp-postgres psql -U erp # 连接数据库
|
||||
```powershell
|
||||
# 一键启动(推荐)
|
||||
.\dev.ps1
|
||||
|
||||
# 手动启动后端
|
||||
cargo run -p erp-server
|
||||
|
||||
# 手动启动前端
|
||||
cd apps/web && pnpm dev
|
||||
|
||||
# 连接数据库
|
||||
psql -U erp -d erp -h localhost
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user