Thot is a simple web application for managing small department libraries.
This version is a complete rewrite of the original Thot Library System wrote in php by Emre Talatar and others at EPFL (http://ipg.epfl.ch).
It was written by Giovanni Cangiani for internal use but may be someone else out there might find it useful.
It is highly probable that the app will not work out of the box as the setup is not very user-friendly although it is a quite standard setup for a Ruby on Rails application.
-
A Ruby on Rails capable web server
-
Bundler
-
mysql or pgsql database
-
sphinx
Verify that your server have all the above requirements then
-
modify and rename removing the trailing
.template
the template files in theconfig
folder:config/application.yml.template
andconfig/database.yml.template
-
rake db:migrate
-
rake db:seeds
-
start sphinx
-
rake thinking_sphinx:start
-
rails server
or whatever is needed if you use passenger.
Sphinx needs mysql or pgsql. See here: pat.github.com/ts/en/ railscasts.com/episodes/120-thinking-sphinx github.com/pat/thinking-sphinx
On mac here is the procedure for having mysql + sphinx correctly installed
-
brew install mysql
-
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
-
mysql.server start
-
/usr/local/opt/mysql/bin/mysql_secure_installation
-
brew install sphinx --mysql
-
rake thinking_sphinx:index
-
rake thinking_sphinx:rebuild
-
rake thinking_sphinx:start
The seeds rake task shoudl have created your administrator account. This can be used for creating accounts for library operators that will take care of managing the library.
Each Operator can be assigned to one or more labs and hence manage users and books for those labs or groups.
All the things that an operator can do are listed in the Admin menu after login. The main taks include adding new books, creating library users, checking library inventory.
New books are created by first entering their ISBN number. This way the system can first check if the books is already present in the database, or fetch informations about the book in the internet (google, library of congress). This will make it easier to fill the books data in the subsiquent form.
Inventory checking is done by first scanning the code of a shelf and then scanning all the books therein.
The computer on the library should be equipped with a barcode scanner that will be used for identifying users and checking books in/out.
By scanning his personal barcode, the user will be redirected to the page listing all the books in his hands. At that point, the user can either enter the inventory number of a book to check it out or scan the book’s barcode. Books can be checked in by scanning the barcode or bu just clicking on the corresponding return
link.