Skip to content

Latest commit

 

History

History
235 lines (132 loc) · 5.81 KB

File metadata and controls

235 lines (132 loc) · 5.81 KB

图书管理系统

概述

前端页面基于 React + React-Router + Antd 开发,后端页面基于 Python 的 Flask 框架进行开发。主要功能分为三部分:

普通用户

  • 登录和注册功能
  • 用户实现个人信息及密码的更改
  • 实现个人座右铭的发布和删除
  • 对图书图文信息的搜索(支持多类别搜索)和查看
  • 查看热门借阅、收藏以及新录入的图书
  • 在留言板留言或查看过往留言,留言支持回复和输入文字、表情、图片以及点赞
  • 对图书进行借阅和归还
  • 对图书进行收藏和信息导出
  • 生成用户画像/标签和图书数据分析图
  • 个性化推荐图书

管理员用户

管理员包含普通用户的功能,还有如下功能:

  • 置顶或者取消置顶、删除留言板的评论
  • 审核用户归还的图书信息
  • 新增图书信息
  • 实现新增书籍信息的审核
  • 编辑修改、删除旧有的图书信息
  • 查看普通用户基本信息、图书偏好及相关统计分析图,编辑基本信息,以及实现用户账户的删除
  • 可以查看所有用户的收藏、借阅信息以及收藏和借阅前十位的排行统计数据图

其他

  • 未登录页面的路由保护功能
  • 面包屑导航功能
  • 丰富且较完备的提示信息
  • 提供预览界面(随便逛逛)搜索查看图书信息
  • 图书超期未还会被记录,超期需缴纳罚款并且限制借书
  • 登录页添加滑块验证,3次登录失败后,账号会被锁定一段时间

如何使用本项目

  1. 使用git clone下载项目代码
  2. 进入backend文件夹,在 python3 环境下,创建python虚拟环境 testvenvpython -m venv testvenv,激活虚拟环境 testvenv\scripts\activate
  3. 在虚拟环境下,安装依赖库 pip install -r requirements.txt
  4. 在backend目录里,创建一个 .env 文件,并写入如下代码。将root替换为你的 MySQL 的登录名,123456替换为登录密码。然后在你的本地MySQL里创建一个名为bookms的数据库DB
DATABASE_URL=mysql+pymysql://root:123456@localhost:3306/bookms

SQLALCHEMY_TRACK_MODIFICATIONS=False
  1. 在前面的虚拟环境中,先运行flask initdb 初始化数据库,再运行flask build 填充预置数据,最后运行flask run,在 http://127.0.0.1:5000/ 查看项目(若出现重复数据,运行flask initdb --drop ,再运行flask build
  2. 预设的管理员账号是zzc,普通账号有zjc,abc,赵怀真,沈梦溪,asd,海月,test,密码都是123456

功能展示

起始页

点击随便逛逛,在登录前可以预览图书的图文信息

点击上方按钮可以切换为文字版

可以查看热门排行图书

进行相关操作时,提示登录才能完成

登录页

滑块验证码

登录错误会有提示

登录失败累计3次,账号会被锁定一段时间

注册页

普通用户部分

主页面

可以切换查看图书图片和文字信息,还可以进行多类别搜索,查看详情、借阅、收藏等等

当剩余数量为0时,提示借阅失败

热门排行,可以查看热门借阅、收藏图书以及新录入的图书

留言板

收藏页

借阅页面,归还图书需要申请,等待管理员批准

个人信息页

个性推荐部分,包含用户画像/标签生成、图书类别分析图和图书推荐环节

生成个性图书标签

图书数据分析和词云图

图书推荐

无权限访问管理员页面

管理员部分

留言板,管理员可以置顶评论或者删除评论

审核用户的归还图书,可以查看是否超期,超期天数,罚款是否缴纳

书籍信息审核以及新增图书信息模块

编辑删除查看书籍信息

查看所有普通用户基本信息和图书偏好,以及编辑信息和删除账号

读者性别统计分析

查看所有用户收藏和借阅信息

收藏及借阅书籍排行统计信息

其他功能

未登录页面会有路由保护功能,自动跳转指定页面

路由错误或者找不到指定页面时

图书超期违约会被记录

还书前,缴纳罚金可以使还书审批更容易通过

恢复正常借书功能,除了缴纳罚款外,还需要尽数还书

超期未缴纳罚金或未还书时,限制借书

赞赏与支持

参考资料