面向班级的请假管理系统,可供于统计、考核等简化流程,支持跨平台
A fullstack attendance and leave management system for schools, featuring:
- 🧾 Leave request & approval workflow
- 📊 Attendance & truancy analytics
- 📱 Cross-platform support (Web + PWA + Android)
- 🔐 Role-based access control (RBAC)
项目形态
包含 Node.js 后端服务、学生端和教师端分离式 Android App、教师端网页,以及 iOS 跨平台支持。
特色功能
支持 一键报备、旷课统计 和 动效设计,兼顾操作效率、数据呈现和界面体验。
项目说明
项目把学生请假、教师审批、班级统计和记录追踪放在同一套系统里,减少纸面登记、聊天确认和人工汇总带来的流程割裂。
已通过内网测试和部分攻击测试,可稍作配置投入使用或根据需求继续开发
- 教师可集中查看待审批列表,完成同意、驳回与备注处理。
- 提供趋势总览、重点对象和高发规律,方便展示项目的数据分析能力。
- 支持查看当天课堂核对结果、宿舍分布和当前请假状态。
- 支持按记录类型、学生、日期范围、状态和来源联动筛选。
- 支持按状态和模式筛选历史记录,适合回看处理进度与归档详情。
- 支持按当前课程、剩余课程或自定义范围发起当天请假,也保留周末回家报备等模式。
- 学生进入系统后可直接看到今日状态、最近处理结果、请假入口和课表入口。
- Frontend: Vue 3, Vite, Pinia, Element Plus, Vant
- Backend: Node.js, Express, Sequelize
- Database: MySQL
- Realtime: Socket.IO
- Auth: JWT
- Mobile: PWA / Capacitor (Android)
attendance system, leave management, workflow approval, student management system, real-time web app, analytics dashboard, fullstack project
Express 5Sequelize 6MySQL 8Socket.IOJWT
Vue 3ViteVantPWACapacitor Android
Vue 3ViteElement PlusEChartsCapacitor Android
Playwright端到端测试Docker Compose容器部署PowerShell开发、备份和演示库重置脚本
支持中文
完整说明请直接看:
- ARCHITECTURE.md:系统结构、通信链路、数据流和数据库关系
- DEPLOYMENT.md:本地部署、Docker 部署、环境变量和演示库初始化
- TESTING-GUIDE.md:自动化测试、手工验收、Android 构建和截图验收点
- SECURITY.md:反馈与联系
如果你只是想把项目跑起来,推荐按下面 4 步走:
- 准备 Node.js 18+、MySQL 8.x、PowerShell;如需容器部署,再准备 Docker。
- 复制根目录
.env.example和server/.env.example,按本机环境填写数据库、JWT 和允许访问的来源地址。 - 在
server/执行数据库迁移,在student-app/和teacher-app/构建前端资源。 - 选择本地开发启动或 Docker 启动,然后通过
http://localhost:3000/health检查服务健康状态。
完整步骤、常见报错和演示库重置方法见 DEPLOYMENT.md。
如果你走 Docker 首次部署,请注意当前仓库不是“一键空库开箱即用”模式,仍需要按 DEPLOYMENT.md 完成数据库账号创建、迁移和 Demo 数据初始化。
- Node.js 18+
- MySQL 8.x
- Windows + PowerShell
- Docker 20.10+ 与 Docker Compose(可选)
cd server
npm install
cd ../student-app
npm install
cd ../teacher-app
npm installCopy-Item .\server\.env.example .\server\.env按你的 MySQL 实例和本机访问地址修改 server/.env,至少确认数据库连接、JWT_SECRET 和 ALLOWED_ORIGINS 正确。
cd server
npx sequelize-cli db:migrate分别启动:
cd server
npm run dev
cd ../student-app
npm run dev
cd ../teacher-app
npm run dev或使用根目录脚本一次启动:
powershell -ExecutionPolicy Bypass -File .\scripts\start-dev.ps1如需先私有备份、再重建一套干净的演示数据,可在仓库根目录执行:
npm run db:reset:demo这个脚本会:
- 读取
server/.env - 先导出当前数据库备份
- 重建数据库并执行全部迁移
- 灌入新的 Demo 班级、教师、学生、课表与课时数据
- 后端健康检查:
http://localhost:3000/health - 学生端开发页:
http://localhost:5175 - 教师端开发页:
http://localhost:5174
| 角色 | 默认凭据 |
|---|---|
| 管理员 | admin / admin123 |
| 教师 | teacher / teacher123 |
| 班级码 | TEST001 |
学生端首次登录默认需要先设置 6 位数字密码;设置完成后,后续再使用该密码登录。
.
├─ server/ 后端接口、模型、迁移脚本、通知与备份逻辑
├─ student-app/ 学生端 Web / PWA / Android 工程
├─ teacher-app/ 教师端 Web / Android 工程
├─ tests/ Playwright 端到端测试
├─ scripts/ 启动、备份、证书和重置脚本
- 仓库内示例班级、课表、教师、地点均为通用 Demo 数据,不包含真实业务数据。
- 开源版保留学生端 Web/PWA、教师端 Web、两端 Android 容器壳以及后端主流程代码。
- 教师端远程推送保留接入代码,但默认视为可选增强能力,不作为开箱即用前提。
- 私有证书、私有部署文件、真实数据库备份、第三方推送 SDK 和本地调试材料不随仓库分发。
- License: MIT
- Last Updated:
2026-04-21
- 邮箱:
shj561661@gmail.com - QQ:
1570666721 - 哔哩哔哩:
3546716596865871
介绍
其实这个项目是被老师无视了,因为要租用服务器,老师非得找免费的 TvT,一气之下直接开源。
耗时 21 天,Claude 4.6 Opus 搭基座,Codex 5.4 完善功能,消耗 50.11 RMB。
还有十几天就 17岁了 ✌
2026/4/21







