2001hurc / mini-library

小型图书馆管理系统

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

小型图书馆管理系统 Mini library management system

1. 软件简介

该软件希望满足小型图书馆,特别是乡村中小学图书室的日常管理需求,包括:书籍的录入和整理、书籍借阅管理功能、简单的统计功能。
该软件希望能够尽量降低老师和同学们的使用难度,因此在数据管理方面使用最为直观的Excel文件直接存储文件;在日常管理方面使用小数字键盘配合扫码枪进行管理,让小学生能够快速熟练掌握。

2. 服务人群

  • 老师:前期整理图书馆信息,包括:电子化图书信息、添加读者信息、制定图书室规定等。
  • 学生:负责日后的日常管理,包括:为同学们借阅归还图书、图书上架整理等。

3. 合作开发平台:Github

git简易教程

合作开发示例

  • 开源开发者(不能直接push到该仓库):
    git init #安装git后初始化
    #进入https://github.com/jiaxunsongucb/mini-library,点击右上角的fork按钮,将仓库复制到自己的github账号下
    #进入到自己的账号下的mini-library,点击绿色的“Clone or download”按钮服制下载链接
    #回到本地:
    git clone https://github.com/<username>/mini-library.git #科隆仓库到本地
    git pull #更新本地仓库
    git add . #添加所有新文件到暂存区
    git commit -m "本次修改说明" #提交改动
    git push #向远端推送修改
    #回到github提交pull request
    #等待审核合并
  • 受信任的合作开发者(已成为Collaborators,可以直接push):
    git init #安装git后初始化
    git clone https://github.com/jiaxunsongucb/mini-library.git #科隆仓库到本地
    git checkout -b testing #新建名为testing的分支
    git pull #更新本地仓库
    git add . #添加所有新文件到暂存区
    git commit -m "本次修改说明" #提交改动
    git push --set-upstream origin testing #设置推送到远端的分支为testing
    git push upstream testing #向远端testing分支推送修改
    #回到github提交pull request
    #等待审核合并

4. Python规范

  • 代码文件用英文命名,采用小写加下划线方式,如library_system.py。
  • 类class用驼峰命名方式,如CamelCase()。
  • 函数function名用小写加下划线方式,如lower_case_with_underscores()。
  • 变量名用小写加下划线方式,请尽量用英文命名而不是拼音。
  • 请为所有新的类和函数添加注释,注释请用中文书写。
  • 其它规范请参考Google Python Style Guide

5. 环境配置说明

由于软件面向的是windows平台用户,所以开发者必须使用windows平台对软件进行调试和打包。软件使用Python3编写,可执行文件exe为32位软件。

  1. 安装虚拟机环境
    a. Mac系统
    安装VirtualBox,并安装windows 7 (SP1)操作系统(64位或32位皆可)。详情可参考该教程
    b. Windows系统
    无论是哪一个windows版本,无需进行额外的虚拟机配置。
  2. 安装Python 3.4.4 (86x)。使用该Python版本的原因是:1)这是最后一版支持Windows XP 的Python版本; 2)该版本对exe可执行文件的打包效果最好。此仓库所有代码均依赖于这一版本的Python环境,请务必安装此版本;3)使用32位是因为64位系统依然能够运行32位的软件,如此就无需发布两套独立的软件。请将Python安装至默认路径下(C:\Python34)。
  3. 下载Git并安装。
  4. 使用Git Bash克隆此仓库: git clone https://github.com/jiaxunsongucb/mini-library.git
  5. 下载.NET Framework 4并安装。(Windows 8.1及更新系统无需安装。)
  6. 下载Microsoft Windows SDK并安装。(不要勾选安装Visual C++ Compilers!)
  7. 下载Visual C++ 10 Compiler并安装。
  8. 下载pywin32并安装。这是为了安装Python package Pyinstaller用以打包exe可执行文件而准备的。
  9. 进入code文件夹双击“安装package_for_windows_python34_86x.bat”为Python安装必要的package。(此过程需要联网。此安装过程会较慢。)(注:CMD脚本中使用for loop安装requirements而不是标准的pip install -r requirements.txt是因为pandas需要依赖numpy,必须按顺序依次安装。)
  10. 至此,全部环境配置已经完毕。测试:双击library_system.py即可运行软件;双击“生成exe文件_python34_86x.bat”可将.py打包为exe可执行文件。

6. 软件架构

相关文件

粗体为用户得到的文件

  • library_system.py (主程序)
  • spider.py (爬虫录入书籍)
  • data_manager.py (数据读取、交换)
  • requirements.txt (用于安装python package)
  • 安装package_for_windows_python34_86x.bat (用于安装python package)
  • library_system.spec (用于打包exe可执行文件)
  • 生成exe文件_python34_86x.bat (用于打包exe可执行文件)
  • library.db (存储登录信息、密码等信息,并用于数据备份)
  • 图书馆信息.xlsx (存储读者、书籍信息)
  • 借阅记录.xlsx (存储借阅记录)
  • /备份恢复 (存储恢复的Excel文件)
  • library.log (软件运行产生的日志文件)
  • 图书馆管理系统.exe (软件主体)

软件流程图

待续

7. 软件更新日志

2018-09

  • 回滚到架构调整之前(为了解决一个已知的global数据交换不同步的问题)
  • 增加读者丢书功能(管理员目录中)
  • 增加当前操作提示
  • 修复数个BUG,提高稳定性

2018-08

  • 调整软件架构,使其更易读,便于后期维护
  • 优化爬虫(使用xpath和re)
  • 解决python封装成exe文件后还需要用户自行安装编译环境的问题
  • 优化数据存储方式(借鉴关系型数据库)
  • 优化数据备份方式(使用SQLite3)
  • 优化书籍录入流程(从实际需求出发,帮助老师更快实现图书电子化)
  • 新增用户使用情况日志功能
  • 重编说明书
  • 自动调整cmd窗口大小
  • 优化信息打印格式(使用pandas打印表格)
  • 添加彩色输出,绿色提示用户成功,红色失败
  • 隐藏密码输入,用户输入的密码不在屏幕上打印出来

2017-10

  • 软件开源

2016-10

  • 软件上线

8. 期待新增/优化的功能

  • 离线批量录入书籍
  • 自动生成易打印的书籍信息和读者信息
  • 图形化界面/基于WEB的应用

9. 软件下载方式

  1. 填写线上登记表
  2. 关注公众号“宋老师的图书馆”
  3. 百度网盘下载,密码:iuq3 (目前还是第一版软件)

10. 鸣谢

陈胜寒:重整软件架构、测试与调试
Jacty:重整软件架构
杨小朝:重写部分爬虫
吕汶颖、王德超、章强、张潮、段晨瑞、侯添译、胡恩硕、魏林:提供宝贵意见和建议

About

小型图书馆管理系统

License:MIT License


Languages

Language:Python 99.0%Language:Batchfile 1.0%