Files
student_manger/README.md
2026-03-21 03:54:18 +08:00

116 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 学生数据管理系统
基于 Nuxt 3 + SQLite + Prisma 的全栈学生数据管理系统,支持 Docker 部署。
## 功能特性
- 📊 数据概览:班级统计、年龄段分布、目标小区统计
- 👨‍🎓 学生管理:增删改查、批量导入导出
- 🏠 目标小区分析:可配置观测小区列表
- 📤 数据导出:支持 Excel 格式导出
- 🐳 Docker 部署:开箱即用
## 快速开始
### 开发环境
```bash
# 安装依赖
npm install
# 初始化数据库
npx prisma db push
# 启动开发服务器
npm run dev
```
访问 http://localhost:3000
### Docker 部署
#### 使用 Docker Compose推荐
```bash
# 构建并启动
docker compose up --build -d
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
```
#### 使用 Dockerfile
```bash
# 构建镜像
docker build -t student-app .
# 运行容器
docker run -itd --name student_manger -p 3000:3000 docker.hanhan.baby/student_manger:latest
```
#### 数据持久化
数据库文件存储在 Docker 匿名卷中,容器删除后数据保留。
如需手动备份数据库:
```bash
docker compose cp student-app:/app/data/student.db ./backup.db
```
## 项目结构
```
├── server/
│ ├── api/
│ │ ├── students/ # 学生 CRUD API
│ │ ├── stats/ # 统计数据 API
│ │ └── settings/ # 设置 API
│ └── utils/
│ └── prisma.ts # Prisma 客户端
├── pages/
│ ├── index.vue # 数据概览页
│ └── students.vue # 学生列表页
├── layouts/
│ └── default.vue # 默认布局
├── prisma/
│ └── schema.prisma # 数据库模型
├── assets/
│ └── css/
│ └── main.css # 全局样式
├── Dockerfile # Docker 构建文件
├── docker-compose.yml # Docker Compose 配置
└── .env # 环境变量
```
## 技术栈
- **前端**Nuxt 3, Vue 3, Tailwind CSS
- **后端**Nuxt Server Routes, Prisma ORM
- **数据库**SQLite
- **部署**Docker, Docker Compose
## API 接口
| 方法 | 路径 | 描述 |
|------|------|------|
| GET | /api/students | 获取所有学生 |
| POST | /api/students | 添加学生 |
| PUT | /api/students/:id | 更新学生 |
| DELETE | /api/students/:id | 删除学生 |
| POST | /api/students/import | 批量导入 |
| POST | /api/students/clear | 清空数据 |
| GET | /api/stats | 获取统计数据 |
| GET | /api/settings | 获取设置 |
| POST | /api/settings/save | 保存设置 |
## 环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| DATABASE_URL | SQLite 数据库路径 | file:./data/student.db |
| NODE_ENV | 运行环境 | development |