项目大纲
第一部分:项目概述及技术选型
项目介绍
- 教育管理系统的背景需求,解决传统管理痛点
- 目标用户:学生、教师、管理员
- 核心功能模块:账号管理、课程管理、成绩管理、作业管理等
技术选型
- 后端:
- Spring Boot (简化开发流程)
- MyBatis-Plus (简化数据库操作)
- MySQL (数据存储)
- Lombok (简化代码编写)
- Swagger (API 文档生成)
- JWT (用户认证和授权)
- 前端:
- Vue.js (轻量级框架,易于上手)
- Element UI (丰富的 UI 组件库)
- Axios (HTTP 请求库)
- Vue Router (路由管理)
- Vuex (状态管理,可选)
- 后端:
第二部分:环境搭建与项目初始化 (模拟真实开发流程)
环境准备
- 安装 JDK 11 或以上版本
- 安装 Maven 3.6 或以上版本
- 安装 MySQL 5.7 或以上版本
- 安装 Node.js 和 npm
- 安装 IntelliJ IDEA 或 VS Code
创建 Spring Boot 项目
- 使用 Spring Initializr 快速生成项目骨架
- 引入相关依赖:Spring Web, MyBatis-Plus, MySQL Driver, Lombok, Swagger 等
创建 Vue.js 项目
- 使用 Vue CLI 创建项目
- 引入 Element UI 库
项目结构组织
- 后端项目结构:Controller, Service, Mapper, Entity 等
- 前端项目结构:components, views, router, store 等
版本控制
- 使用 Git 进行版本控制,例如 GitHub, GitLab, Gitee
第三部分:数据库设计与实现
设计数据库表结构 (E-R 图)
- 用户表 (
user
):id, username, password, role(学生、教师、管理员), name, gender, email, phone, ... - 课程表 (
course
):id, name, description, teacher_id, ... - 学生课程表 (
student_course
):student_id, course_id, ... - 成绩表 (
grade
):id, student_id, course_id, score, ... - 作业表 (
assignment
):id, course_id, title, content, deadline, ... - 作业提交表 (
submission
):id, student_id, assignment_id, content, submitted_at, ...
- 用户表 (
使用 MyBatis-Plus 实现数据库操作
- 创建实体类,使用注解映射数据库表和字段
- 创建 Mapper 接口,继承
BaseMapper
- 编写