---
title: "开源图书借阅分享工具 Libr"
date: 2013-02-07 09:13:00
---

Libr 的想法最初源自于我有一天希望从成都办公室图书馆找一本书。但是我从书架上找不到那本书，我也没办法知道图书馆到底有没有那本书，因为大家借书时，通常是靠自觉去在一个本子上填写借书记录，因此这个记录的可用价值并不高。我就想能不能有一个工具可以让我们查找到办公室有哪些书，现在可借吗，如果不可借，现在这本书又在哪位同事的手里面（跟踪书的去向）？  
后来通过和熊节的交流，了解到办公室某些同事的确有这方面需求，有些同事还希望可以分享自己的书架或者读书清单。再加上从其他渠道收集到的一些想法，陆陆续续一个月左右，做了Libr 的最小可用版本。（昨天和梁越的交流，我又得到了很多新的，有趣的点子，将会在Road map 中体现）

```
 访问地址：http://libr.herokuapp.com/
```

##### 主要的feature ：

- 第三方登录集成（豆瓣、QQ）
- 首页书籍展示、简单的统计排名
- 系统中的书籍搜索
- 用户可以添加书籍到系统，目前是采用输入关键字和ISBN搜索书籍并添加。（目前添加书籍，即表明你分享此书籍）
- 用户可以删除自己已添加的书籍
- 用户借阅他人书籍
- 用户可以归还所借书籍
- 用户的书架展示（拥有的图书、借入的图书）
- 用户个人中心，简单的统计数据

#### 注意：

- 在系统中成都办公室也是以用户的形式存在
- 借书的流程为，用户首先在网站上查找是否有该书可借，点击借阅，系统将自动将该书的一本可用实例借出给用户。用户此时就可以线下去向拥有者借书（如果拥有者为成都办公室，用户即自行取书即可。），这里借书的逻辑是有待改进的，欢迎大家提建议。

##### Technical Stack:

```
 * 采用 ruby on rails 框架、 Postgres, 前端采用 bootstrap,含有部分ajax。图书数据从豆瓣获取。
 * 部署在 heroku 上面，为了得到较高的性能，开启了Gzip 和替换rails 内嵌服务器为 thin
 * 由于是个人开发，TDD做得并不好，代码覆盖率只有40%左右。（我承认我错了。。）
 * Github repo: https://github.com/wahyd4/Libr  欢迎大家一起来写。
```

#### Road map:

- 移动客户端的支持，用户可以在手机上查找图书，通过扫描二维码添加图书。
- 用户长时间借书未归还，自动提醒（邮件、微信？）
- 微信查书？
- 用户私有书架，用户可以选择不对外公开展示自己的书籍，只供自己查看。
- 为用户添加 组织、地址标签，方便借书与分享书时，选择最优方案。
- 用户可以创建书单，书单为一系列书的集合。如：java程序员必读的10本书。
- 用户可以选择开始读某一书单。并可以看到自己读这一书单的进度，以及需要向那些人借书，以及看到有多少其他人已经读了这个书单等等统计。用户读完书单，可以发布感想。如果扯远来：有书单，也就可以有 各种进度、统计、勋章、虚拟奖励等等。
- 各种深入的数据统计。如：某用户平均借书周期、哪段时间看书较多等等……
- ……. 等你们来补充

  我做这个小东西的根本目的是希望方便大家借阅书籍、和分享自己私有的书籍给大家看。最终希望不仅仅是为公司的同事服务，如果可以也希望可以对外公开。欢迎各种讨论、吐槽，我菜鸟一个。rails 也写得很烂，希望大家多给意见，也特别特别欢迎有兴趣的和我一起来做这个小东西。总之跪求反馈！

!['libr'](/images/2013/2/libr.png)
