2025-09-04
开发
00
请注意,本文编写于 92 天前,最后修改于 92 天前,其中某些信息可能已经过时。

目录

前言:随着开学的临近,我觉得作为学计算机的学生,是时候复习并且继续学习计算机内容了,全栈开发一直是我比较喜欢的一个领域,正巧我在暑假前将前端后端都学了不少,也正好没有一个合适的项目进行历练,思来想去,这个项目比较有意思!
1. 项目定位
2. 技术栈
后端
前端
3. 功能模块
PS:现在就先写着网站,网站不打算上线,后期上线微信小程序(测试版),嘿嘿嘿~

前言:随着开学的临近,我觉得作为学计算机的学生,是时候复习并且继续学习计算机内容了,全栈开发一直是我比较喜欢的一个领域,正巧我在暑假前将前端后端都学了不少,也正好没有一个合适的项目进行历练,思来想去,这个项目比较有意思!

1. 项目定位

  • 面向学生和教师的 资源预约 + 学习协作 平台。
  • 功能涵盖:资源预约、冲突检测、审批流、项目协作、通知推送、报表统计。
  • 后端基于 Python + FastAPI + MySQL,前端基于 Vue3
  • 目标:可靠、可扩展、可维护,能支撑校园级使用场景。

2. 技术栈

后端

  • 框架:FastAPI(高性能、内置文档)
  • 数据库:MySQL(InnoDB,事务与行级锁)
  • ORM:SQLAlchemy + Alembic
  • 缓存:Redis(分布式锁、会话、热门数据)
  • 异步任务:Celery(邮件、报表导出、Webhook 通知)
  • 认证授权:JWT(access + refresh)
  • 日志监控:Sentry + Prometheus + Grafana
  • 部署:Docker Compose → 可升级至 Kubernetes
  • Web服务器:Apache HTTP Server

前端

  • 框架:Vue3 + Vite + TypeScript
  • 状态管理:Pinia
  • UI 组件库:Element Plus / Naive UI
  • 日历组件:FullCalendar
  • 测试:Vitest + Playwright

3. 功能模块

  1. 用户与权限
    • 角色:学生 / 助教 / 管理员
    • RBAC + ABAC(可配置策略:学院、年级、时间限制)
  2. 资源管理
    • 教室 / 实验室 / 设备
    • 属性:名称、容量、开放时段、标签
    • 管理员可增删改查
  3. 预约与冲突检测
    • 创建预约:写入数据库事务 + Redis 锁
    • 冲突检测 SQL:(start_at < :end AND end_at > :start)
    • 提示冲突并推荐最近可用时间段
  4. 审批流
    • 助教/管理员审批
    • 批量处理 + 审批原因记录
  5. 协作模块
    • 项目 → 任务 → 评论 → 附件
    • 看板视图(拖拽任务)
    • 文件版本管理(附件存储在 MinIO)
  6. 通知系统
    • 站内消息
    • 邮件(Celery 异步)
    • WebSocket 实时推送
    • Webhook(支持钉钉/企业微信机器人)
  7. 报表与导出
    • 导出 CSV/ICS(日历同步)
    • 使用率、热力图
    • 定时生成周报/月报
  8. 审计与日志
    • 所有操作写入 audit_log
    • 管理员界面可视化追踪

PS:现在就先写着网站,网站不打算上线,后期上线微信小程序(测试版),嘿嘿嘿~

本文作者:晏秋

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!