2021-08-10基于人脸识别的学生签到系统

这是这学期web前端开发的大作业,因为要考研时间有限,很多功能只是先把页面做好了,没事实现和数据库的连接,用的数据大多数是在json中存储的。

需求分析

(一)教师端
功能需求:
1登录(数据需求:用户名 密码 邮箱号)

2能够管理课程,增加,删除,编辑自己所教授的课程。(数据需求:课程号、课程名、上课时间、课时数)。

3能够管理学生,增加,删除,编辑自己所教授课程中学生的名单。(数据需求:学生学号、学生姓名、学生班级)

4能够发起课程签到。(数据需求:课程号、签到名称、限制时长)

5能够实时查看学生签到情况。

6能够手工为学生签到(数据需求:学生姓名,学生学号,签到名称,签到状态)
(二)学生端
功能需求:
1登录(数据需求:用户名 密码 邮箱号)
2首次登录后需完善自己个人信息(数据需求:学生姓名 学生学号 学生班级 手机号 邮箱)
3首次登录需上传自己的一张照片进行人脸识别(数据需求:一张正面清晰照片)
4在老师发起签到后,需要拍照进行签到,同时获取地理位置,若脸对、位置对,即视为签到成功。

系统流程

2021-08-10基于人脸识别的学生签到系统_第1张图片

系统功能

首页

登陆界面


  • 这里只有存在数据库user表里的用户才能登录

注册界面

1.填写个人信息
2021-08-10基于人脸识别的学生签到系统_第2张图片
2.邮箱验证
2021-08-10基于人脸识别的学生签到系统_第3张图片
3.注册成功
2021-08-10基于人脸识别的学生签到系统_第4张图片

主界面

1.教师端
2021-08-10基于人脸识别的学生签到系统_第5张图片
2.学生端
2021-08-10基于人脸识别的学生签到系统_第6张图片

教师主要功能

1.实时查看签到情况
2021-08-10基于人脸识别的学生签到系统_第7张图片
2.学生管理
2021-08-10基于人脸识别的学生签到系统_第8张图片
3.发起签到
2021-08-10基于人脸识别的学生签到系统_第9张图片
4.课程管理
2021-08-10基于人脸识别的学生签到系统_第10张图片
5.手工签到(忘截图了)

学生主要功能

1.人脸识别签到
使用face-api.js接口,实现人脸识别功能
2021-08-10基于人脸识别的学生签到系统_第11张图片
2.完善个人信息
2021-08-10基于人脸识别的学生签到系统_第12张图片
3.学生地理位置定位,用于判断学生签到地点是否正确
2021-08-10基于人脸识别的学生签到系统_第13张图片

数据库

创建了五张数据表user,student,corse,attendance,studentattendance2021-08-10基于人脸识别的学生签到系统_第14张图片
其实如果可用性更强的话还应该设置管理员端,用来维护老师信息,老师教授课程的情况以及选课学生的信息,但是由于时间太紧了在开始做的时候逻辑也比较混乱,没有考虑那么多,有时间再进行完善!

你可能感兴趣的:(javascript,html,前端,web,development)