Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

Taking the functionality of the Distributed Library Project and moving it to a Rails backend so the code is less fugly

License

Notifications You must be signed in to change notification settings

medwards/free-library-on-rails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Free Library on Rails

This is an open source web application for organising a distributed library.

This repository has not been updated, maintained, or run in production for a large number of years so this repository is now archived. You are of course welcome to fork it, the license is AGPL as seen in COPYING.

Installation

Here are some basic installation instructions.

  1. Make sure you have Ruby 2.0 or higher as well as Bundler (one way would be to use RVM).

  2. Install dependencies.

    • sudo apt-get install libxslt1-dev libsqlite3-dev libmysqlclient-dev
    • bundle install
  3. rake secret --- copy this and place it as your session key secret in config/initializers/secret_token.rb

  4. Setup the database

    • for production: in config/database.yml edit the database name, username and password.
    • rake db:setup (when upgrading use rake db:migrate)

API tokens are set in config/application.yml. You can get an ISBNdb api token here. There is no guarantee that the API tokens stored in config/application.yml will work for you.

There are other things you can change in config/application.yml (like a tags blacklist if you have problems with swearing or pro-capitalists)

If you have questions about the license please email medwards@walledcity.ca

Features

  • Members can
    • signup and create an account;
    • add their books and videos;
    • search items by name, author or description;
    • loan items after confirmation from the owner (with return date);
    • leave comments about other members as some form of user feedback.
  • Book information by ISBN (from ISBNdb and Google Books).
  • Book covers from Google Books.
  • Send SMS on loan request (optional).
  • Tagging.
  • Librarians may edit all books and tags (optional).

Librarians

In some communities it can be useful to have librarians who help to complete missing information, correct mistakes and help with tagging. To enable this, you need to make one user a librarian by running the following command (replacing admin@example.com with the email address of the librarian):

echo "User.where(email: 'admin@example.com').update_all(librarian_since: Time.now)" | rails console

If you'd like to allow librarians to make other members a librarian, set use_librarian to delegate in config/application.yml. Librarians will then see a button on other users' profile page.

See also

About

Taking the functionality of the Distributed Library Project and moving it to a Rails backend so the code is less fugly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published