Skip to content

badrihippo/growlin

Repository files navigation

Growlin

Library mangement program for the CFL Open Library

About the Open Library

Centre For Learning (CFL) is a school near Bangalore, India, which has this thing called the Open Library. Basically, anyone can come in and borrow books (the librarian makes accounts for all the students, staff and guests) and enter their borrowings in the library's computer. To make sure that the book is actually coming back, users have to enter the book's accession number, which will be written inside the book. The idea is that everyone takes responsibility for the books, instead of having one librarian doing all the managing.

The program currently being used for the library management is called Merlin, and it is being used in several schools as well as CFL.

Now, the Merlin application code is very old and buggy, so I've been asked to make a new one. But, since this is the first proper program I'm making, the end result may be a program that's very new and buggy.

I'm putting this program on GitHub in the hope that other people may decide to help and improve the code. And maybe if it gets enough attention more people will start setting up Open Libraries...

The old software was called "Merlin", hence I decided to name the new one after my dog, Growlin.

The Growlin Interface

Right now I'm planning to make two interfaces for Growlin: one is the user's interface where they manage their borrowings, and the other is the admin interface where the librarian can add new books, etc. Later, I also hope to implement plugin functionality so that different libraries can enable/disable different plugins as required.

Project layout

The project is going to be developed as a Flask webapp, with the peewee ORM for managing the database. For developing, the database is going to be SQLite, but in the actual one it'll be replaced with MySQL or something. The Flask project is in the growlinflask folder, in case we need the rest of the space for other files.

To set up the project, cd to to the growlinflask directory, and then install dependencies:

pip install -r requirements.txt

To set up the database and generate the test data, you can type the following in a Python console (opened in the growlinflask directory):

>>> import models
>>> models.create_test_data()

Once everything is installed, you can run the server using:

python growlin.py

A development server will be started, which you can access by pointing your browser to localhost:5000.

Files from other repos

Growlin also includes files from the following libraries for convenience. For licensing details, please check the respective repo/website.

About

Library mangement program for the CFL Open Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published