feat: initial commit with Nuxt 3 student management system
- Add Nuxt 3 + Prisma + SQLite full-stack setup - Add student CRUD API with batch import/export - Add stats dashboard with gender/class distribution - Add target community settings feature - Add Docker deployment support (Dockerfile + docker-compose) - Add README with development and deployment instructions
This commit is contained in:
115
README.md
Normal file
115
README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 学生数据管理系统
|
||||
|
||||
基于 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 -p 3000:3000 student-app
|
||||
```
|
||||
|
||||
#### 数据持久化
|
||||
|
||||
数据库文件存储在 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 |
|
||||
Reference in New Issue
Block a user