课表管理系统
一个基于 React 和 Node.js 的课表管理系统,支持多角色用户管理和课程管理。
主要功能
用户角色
- 管理员:系统管理、用户管理、角色权限管理
- 教师:课程管理、课表查看
- 学生:选课、退课、课表查看
功能特点
- 用户认证与授权
- 课程管理(增删改查)
- 选课系统
- 角色权限管理
- 课表显示
技术栈
前端
- React.js
- TypeScript
- Ant Design
- React Router
- Axios
后端
- Node.js
- Express
- MySQL
- JWT认证
默认账户
- 管理员:admin/123456
- 教师:teacher1/123456, teacher2/123456
- 学生:student1/123456, student2/123456, student3/123456
安装说明
前端设置
- 进入前端目录:
cd course-schedule-system
- 安装依赖:
npm install
- 启动开发服务器:
npm start
后端设置
- 进入后端目录:
cd server
- 安装依赖:
npm install
-
配置环境变量:
- 复制
.env.example到.env - 修改数据库配置和JWT密钥
- 复制
-
创建数据库和表:
- 使用
initTestData.sql和createTables.sql中的脚本创建数据库和表
- 使用
-
启动服务器:
npm start
数据库配置
- 确保 MySQL 服务已启动
- 创建数据库:course_schedule
- 配置数据库连接信息(server/.env)
使用说明
- 访问 http://localhost:3000 打开前端应用
- 使用以下默认账户登录:
- 管理员:admin/123456
- 教师:teacher1/123456, teacher2/123456
- 学生:student1/123456, student2/123456, student3/123456
开发说明
- 前端代码在
src目录下 - 后端代码在
server/src目录下 - 数据库脚本在
server/src目录下
注意事项
- 确保 MySQL 服务正常运行
- 确保正确配置数据库连接信息
- 首次使用请使用默认管理员账户登录并设置系统
- 生产环境部署时请修改JWT密钥

被折叠的 条评论
为什么被折叠?



