nathaniel-kk / StudentCMS

基于php Laravel框架和Layui的学生管理系统

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

本项目的另外一个分支前端采用layuimini,页面更加美观大气,集成了laravel-permission及gatewayWorker,推荐大家使用

layuimini分支

演示站点

系统还在不断更新完善中,成绩分析还没完善,发现问题及时反馈哈 http://stu.yushihua.vip

  • 管理员账号:admin/admin
  • 学生账号:test/test

顺便提一下我的个人博客:https://yushihua.vip 里面会及时更新自己的学习笔记及经验

学生管理系统

项目介绍

基于php Laravel和layui开发的学生管理系统

基本内容

  • 学生基本信息增删改查
  • 老师基本信息增删改查
  • 学生课程增删改查
  • 学生成绩增删改查
  • 学生成绩统计(图表展示)
  • 学生成绩分析

技术栈

  • Laravel
  • Layui
  • x-admin v2.2
  • echarts

使用方法

方法一

  1. 直接下载release的zip文件,解压后,将整个目录放到网站目录www下
  2. 创建数据库studentcms,运行里面的studentcms.sql文件

方法二

1. git clone https://github.com/974988176/StudentCMS.git
2. cd StudentCMS
composer install
3. 创建数据库,复制.env.example为.env
//生成key
4. php artisan key:generate
5. 修改.env中数据库连接DB_DATABASE和APP_NAME属性
6. php artisan migrate:refresh --seed

权限管理

管理员权限

管理员拥有网站所有权限,当检测到管理员时,所有内容右侧将会显示操作栏,可以进行编辑或删除,双击每一行可以进行编辑操作

  • 学生增删改查
  • 老师增删改查
  • 课程增删改查
  • 考试增删改查
  • 成绩增删改查

学生权限

通过前端直接不显示操作栏和后端判断当前用户,同时判断当前用户,来保证网站的安全性

  • 只能查看自己的个人信息,不显示其他同学信息,保护同学隐私
  • 可查看所有老师信息,不能增删改老师
  • 可显示所有课程列表和对应老师,不能增删改课程
  • 可查看所有考试列表,不能增删改考试
  • 只可查看所有考试中自己的成绩,不能查看到其他同学的成绩,保护同学隐私

老师权限

  • 暂时老师的权限和学生一样,下一步再考虑

已实现具体功能

用户管理

  • 登录
  • 退出
  • 修改密码
  • 修改个人信息
  • 按出生日期范围搜索学生
  • 任意条件模糊搜索学生

课程管理

每个课程设置一个总分的字段,为后续成绩分析挑选出优秀,良好,及格,不及格提供依据

  • 添加,修改,删除
  • 为每个课程指定老师,可在课程列表展示出对应老师,点击老师名字,可弹出老师的详细信息

考试管理

录入成绩前,必须要先添加考试,本系统成绩管理是基于考试的

  • 添加,修改,删除
  • 双击一次考试,可直接跳转到这次考试的成绩分析页(待完成)

成绩管理

  • 成绩录入是一次录入一个学生的所有课程成绩
  • 成绩录入时,后台会进行重复性验证,禁止录入同一次考试同一门课程同一个学生的成绩
  • 前台和后台均会对成绩的合理性进行检验,只能录入0-150分,可以录入小数
  • 成绩查询页列表展示均为动态,添加一门新课程时,会自动添加到查询页末尾
  • 可按考试次数筛选成绩列表
  • 可按学生的名字和学号模糊搜索成绩
  • 每门课程会自动列出平均分,总分
  • 可按任一课程,名字,学号,平均分,总分排序,包括正序和倒序
  • 成绩查询页,可点击具体成绩单元格,可修改任意学生任一课程的具体成绩,并对修改的成绩进行验证
  • 成绩查询页,学生只能看到自己的成绩,也只能修改自己的成绩
  • 成绩录入页,录入完一次考试一个课程的后,将不会出现在下拉框中,避免重复录入和更加人性化,当然,重复录入时也会检验

成绩分析

  • 总体分析显示每个课程的优秀良好率的饼图
  • 个人分析显示个人每次考试不同课程的成绩变化折线图

效果展示

gif演示

About

基于php Laravel框架和Layui的学生管理系统

License:MIT License


Languages

Language:PHP 87.8%Language:Blade 12.1%Language:Shell 0.1%