📚 图书管理系统
📋 目录
🌟 项目概述
图书管理系统是一个基于Python+Flask开发的全功能图书馆管理平台,提供从图书信息管理、用户账户管理到借阅统计分析的一体化解决方案。系统架构模块化,既适合中小型图书馆快速部署,也可通过扩展满足大型机构的复杂需求。
仓库地址: https://git.sq0715.com/qin/Book_system.git
💎 系统特色
🔐 安全认证支持邮箱验证系统,默认集成QQ邮箱,可扩展对接自建邮箱服务 |
🧩 模块化架构松耦合设计,各功能模块独立开发与部署,支持增量升级 |
📱 响应式设计界面自适应多种设备尺寸,提供一致的用户体验 |
🔍 高级搜索支持多条件、多字段综合搜索,快速定位图书资源 |
📊 数据可视化借阅趋势、热门图书直观展示,辅助馆藏决策 |
🛡️ 权限分级基于角色的访问控制,确保系统安全与数据隐私 |
📦 功能模块
👤 用户管理模块
- 用户注册与多因素认证
- 个人信息管理与安全设置
- 权限分级与角色管理
- 账号状态监控与审计
📚 图书信息管理模块
- 图书信息CRUD操作
- 批量导入/导出(Excel/CSV)
- 分类、标签、作者系统化管理
- 丰富的图书详情展示
📘 借阅管理模块
- 一键借阅与归还处理
- 续借与预约服务
- 逾期管理与提醒
- 借阅历史与个人收藏
📦 库存管理模块
- 实时库存监控
- 图书状态追踪(在馆/借出/损坏)
- 库存变更日志
- 低库存预警
📢 通知中心
- 系统公告发布
- 个人消息推送
- 还书/预约/逾期提醒
- 邮件通知集成
📊 统计分析中心
- 借阅热度分析
- 用户活跃度报告
- 分类流通统计
- 自定义报表导出
🔍 日志与审计
- 系统操作日志
- 管理员行为审计
- 安全事件追踪
- 数据备份与恢复
🔧 技术架构
🚀 安装指南
环境准备
- Python 3.8+
- MySQL 8.0+
- 现代浏览器
安装步骤
# 克隆仓库
git clone https://git.sq0715.com/qin/Book_system.git
cd Book_system
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows使用: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 配置数据库
# 编辑 config.py 文件,设置数据库连接参数
# 启动应用
python app.py
默认管理员账户
- 用户名: admin
- 密码: admin123
- 首次登录后请立即修改密码
💾 数据库设计
系统采用MySQL关系型数据库,主要表结构如下:
点击展开数据库表设计
| 表名 | 说明 | 主要字段 |
|---|---|---|
users |
用户信息表 | id, username, password, email, phone, role_id |
roles |
角色表 | id, role_name, description |
books |
图书信息表 | id, title, author, publisher, isbn, stock |
categories |
图书分类表 | id, name, parent_id |
borrow_records |
借阅记录表 | id, user_id, book_id, borrow_date, due_date |
inventory_logs |
库存日志表 | id, book_id, change_type, change_amount |
notifications |
通知表 | id, user_id, title, content, type, status |
announcements |
公告表 | id, title, content, publisher_id |
logs |
系统日志表 | id, user_id, action, target_type, target_id |
数据表关系ER图: [此处将插入ER图]
📸 项目截图
项目截图将在开发完成后更新
🔮 开发规划
近期计划
- 完善用户权限系统
- 优化图书检索算法
- 添加图书评分与评论功能
- 实现批量图书导入功能
中期目标
- 微信/钉钉第三方登录集成
- 移动端应用开发
- 电子书管理与阅读
- 图书推荐系统
长期愿景
- 多馆区管理
- AI辅助编目
- 读者社区建设
- 跨平台资源整合
👥 贡献指南
我们欢迎各种形式的贡献,无论是功能建议、代码贡献还是文档改进:
- Fork 项目仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
详细的贡献指南请参见 CONTRIBUTING.md
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
Description
Languages
CSS
29.7%
HTML
29.6%
JavaScript
20.4%
Python
20.3%