Skip to content

基于React、Antd和Flask做的前后端分离的图书管理系统

Notifications You must be signed in to change notification settings

plusmultiply0/bookmanagesystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

图书管理系统

概述

前端页面基于 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时,提示借阅失败

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

留言板

收藏页

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

个人信息页

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

生成个性图书标签

图书数据分析和词云图

图书推荐

无权限访问管理员页面

管理员部分

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

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

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

编辑删除查看书籍信息

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

读者性别统计分析

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

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

其他功能

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

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

图书超期违约会被记录

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

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

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

赞赏与支持

参考资料

Releases

No releases published

Packages

No packages published