项目简介
本项目借助Python Flask框架搭建智慧考勤管理系统。通过人脸识别与定位技术,并结合数据库管理,实现员工考勤的自动化管理和数据分析。项目包含前端Web界面和后端服务,后端运用Flask框架、SQLAlchemy ORM、MTCNN人脸检测、FaceNet人脸识别等技术,能够自动采集、存储、查询和分析考勤数据。
项目的主要特性和功能
- 人脸识别考勤:利用人脸识别技术自动管理员工考勤,减少人工操作,提高考勤数据的准确性和效率。
- 数据存储与查询:使用SQLAlchemy ORM进行数据库管理,方便存储和查询员工考勤数据。
- 数据分析:对考勤数据进行查询和分析,为管理者提供决策支持,如员工出勤率统计、缺勤分析等。
- 权限管理:具备用户角色和权限管理功能,保障数据的安全性和保密性。
- API接口:提供API接口,便于前端Web界面与后端服务交互,实现数据实时更新和查询。
安装使用步骤
基本环境要求
- Linux:Ubuntu 20.04 64位
- Python:Python 3.8.10
- MySQL:8.0.32 - 0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
安装依赖
- 激活虚拟环境(可选): ``` sudo pip install virtualenv sudo pip install virtualenvwrapper
virtualenv -p python3 xxxxx(虚拟环境名字)
source (目录)/xxxxx/bin/activate
deactivate
``
- 安装本地requirement文件:
- 激活环境
- 终端命令
pip install -r (路径) /requirements.txt- 全局环境安装requirement文件:终端命令
pip install -r (路径) /requirements.txt`
模型下载与配置
- 模型下载:
- 国内:链接:https://pan.baidu.com/s/1PROYJ0o7Lco3uFcdUBEONw?pwd=7cgk 提取码:7cgk
- 国际:https://drive.google.com/file/d/1kdeI8wkH6UfpznlIvIpjaixfbE2WQhSV/view?usp=share_link
将AI模型文件
model_resnet34_triplet.pt
放入AI_model\facenet\weights
文件夹下。
- config文件自定义:
- 在appID、appSecret、template_id更换微信小程序开发者相关的信息。
- 修改数据库配置:
- HostName:主机名,若数据库在本机则默认localhost,若为远程数据库,需变更为主机公网ip。
- Port:默认3306端口,指链接数据库端口。
- UserName:连接数据库用户名,默认root。
- Password:连接数据库密码。
- DataBase:连接的数据库。
运行配置
- app文件运行配置
app.run(host='0.0.0.0', port=5002, debug=True)
: - 本地运行,请修改host为本机地址或127.0.0.1。
- 远程服务器默认使用0.0.0.0,达到公网访问的目的。
- 公网访问port需开启5002端口。
- debug=True开启热更新模式。
生产环境部署
1、nginx配置
- 安装nginx。
- 对nginx进行配置,配置文件一般在
/etc/nginx/sites-available/default
: - 先对原文件进行备份,终端执行
cp /etc/nginx/sites-available/default default.bak
。 -
再修改,终端执行
sudo vi /etc/nginx/sites-available/default
。 其中/home/project/dist
为项目vue3构建的网页目录,配置示例如下: ``` server { listen 80 default_server; listen [::]:80 default_server;root /home/project/dist;
index index.html index.htm index.nginx-debian.html;
server_name 101.132.152.202; }
```
2、gunicorn配置
- 安装gunicorn:
- 在全局环境下,在Flask根目录执行命令:
gunicorn -w 2 -b 0.0.0.0:5002 app:app
。 - 在虚拟环境下,激活虚拟环境在Flask根目录执行命令:
(虚拟环境目录)/bin/gunicorn -w 2 -b 0.0.0.0:5002 app:app
。 - 为gunicorn启动全局自启动服务:
创建
"/etc/systemd/system/gunicorn.service"
,内容如下: ``` [Unit] Description=gunicorn for vue3 After=network.target
[Service] User=root WorkingDirectory=/home/project/flask ExecStart=gunicorn -w 2 -b 0.0.0.0:5002 app:app Restart=on-failure
[Install]
WantedBy=multi-user.target
终端执行以下命令:
sudo systemctl daemon-reload
sudo systemctl start gunicorn.service
sudo systemctl status gunicorn.service
sudo systemctl enable gunicorn.service
``
若部署成功,网页输入
http://` 自己的服务器ip ,将会重定位到登录页面。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】