init
This commit is contained in:
136
README.md
136
README.md
@ -1,2 +1,136 @@
|
||||
# qiandao
|
||||
# 会议签到系统
|
||||
|
||||
一个基于 Rust (Axum + SeaORM) 和 Ant Design 的会议签到系统。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 参会者注册
|
||||
- 参会者信息管理
|
||||
- 签到功能
|
||||
- 参会者列表查看
|
||||
- 搜索功能
|
||||
|
||||
## 技术栈
|
||||
|
||||
### 后端
|
||||
- Rust
|
||||
- Axum (Web 框架)
|
||||
- SeaORM (数据库 ORM)
|
||||
- MySQL (数据库)
|
||||
|
||||
### 前端
|
||||
- React 18
|
||||
- Ant Design
|
||||
- Vite (构建工具)
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Rust 1.65+
|
||||
- Node.js 16+
|
||||
- Docker 和 Docker Compose (可选,用于数据库)
|
||||
|
||||
### 启动数据库
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 设置数据库
|
||||
|
||||
创建数据库:
|
||||
```sql
|
||||
CREATE DATABASE qiandao CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
```
|
||||
|
||||
运行迁移脚本:
|
||||
```bash
|
||||
mysql -u root -p qiandao < migrations/001_create_attendees_table.sql
|
||||
```
|
||||
|
||||
### 启动后端服务
|
||||
|
||||
```bash
|
||||
cargo run
|
||||
```
|
||||
|
||||
后端服务将在 `http://localhost:3000` 运行。
|
||||
|
||||
### 启动前端开发服务器
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
前端开发服务器将在 `http://localhost:5173` 运行。
|
||||
|
||||
## API 接口
|
||||
|
||||
### 参会者相关
|
||||
|
||||
- `POST /api/attendees` - 创建参会者
|
||||
- `GET /api/attendees` - 获取所有参会者
|
||||
- `GET /api/attendees/:id` - 获取指定参会者
|
||||
- `POST /api/attendees/:id/checkin` - 为参会者签到
|
||||
|
||||
## 部署
|
||||
|
||||
### 构建前端
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
构建产物将位于 `frontend/dist` 目录中。
|
||||
|
||||
### 构建后端
|
||||
|
||||
```bash
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
.
|
||||
├── Cargo.toml
|
||||
├── src/
|
||||
│ ├── main.rs
|
||||
│ ├── database.rs
|
||||
│ ├── models.rs
|
||||
│ └── routes.rs
|
||||
├── migrations/
|
||||
│ └── 001_create_attendees_table.sql
|
||||
├── frontend/
|
||||
│ ├── package.json
|
||||
│ ├── vite.config.js
|
||||
│ ├── index.html
|
||||
│ ├── src/
|
||||
│ │ ├── main.jsx
|
||||
│ │ ├── App.jsx
|
||||
│ │ ├── components/
|
||||
│ │ │ ├── AttendeeRegistration.jsx
|
||||
│ │ │ ├── AttendeeList.jsx
|
||||
│ │ │ └── CheckinPage.jsx
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 添加新的 API 接口
|
||||
|
||||
1. 在 [routes.rs](file:///Users/yangshiyou/Develop/code/rust/qiandao/src/routes.rs) 中添加处理函数
|
||||
2. 在 [main.rs](file:///Users/yangshiyou/Develop/code/rust/qiandao/src/main.rs) 中注册路由
|
||||
|
||||
### 修改数据库模型
|
||||
|
||||
1. 更新 [models.rs](file:///Users/yangshiyou/Develop/code/rust/qiandao/src/models.rs) 中的模型定义
|
||||
2. 创建新的迁移脚本
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user