ayou 1557920e14 refactor: 统一路由参数格式为花括号并更新部署说明
将路由参数从 `:id` 和 `:key` 格式统一为 `{id}` 和 `{key}` 格式
更新 build.sh 脚本以优先使用实际 .env 文件,并同步更新部署说明文档
2025-10-23 21:43:27 +08:00
2025-10-23 00:22:43 +08:00
2025-10-23 21:17:38 +08:00
2025-10-23 00:22:43 +08:00
2025-10-23 00:22:43 +08:00
2025-10-23 00:22:43 +08:00
2025-10-23 00:22:43 +08:00
2025-10-23 00:22:43 +08:00

会议签到系统

一个基于 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 (可选,用于数据库)

启动数据库

docker-compose up -d

设置数据库

创建数据库:

CREATE DATABASE qiandao CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

运行迁移脚本:

mysql -u root -p qiandao < migrations/001_create_attendees_table.sql

启动后端服务

cargo run

后端服务将在 http://localhost:3000 运行。

启动前端开发服务器

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 - 为参会者签到

部署

构建前端

cd frontend
npm run build

构建产物将位于 frontend/dist 目录中。

构建后端

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 中添加处理函数
  2. main.rs 中注册路由

修改数据库模型

  1. 更新 models.rs 中的模型定义
  2. 创建新的迁移脚本

许可证

MIT

Description
No description provided
Readme 146 KiB
Languages
Rust 38%
JavaScript 37.6%
HTML 20.5%
Shell 2.8%
CSS 0.6%
Other 0.5%