/infilib

The library management system that's fast, beautiful, and friendly.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

InfiLib

Welcome! InfiLib is currently in closed beta, which means that you can't access it unless you have an account. Please sign up for the (short) waitlist here!

Should I use InfiLib?

We built InfiLib for all libraries alike - small or big, school, professional, or home. InfiLib offers a fresh look at what a modern library manager could do. With unique features, uncomparable performance, and a beautiful UI - InfiLIb is the only "library manager" that caters to both librarians and members.

Give it a try! Sign up in the link above, and we think you'll love it.

Usage

Head over to infilib.vercel.app. Click on your library name, and you'll be redirected to the login page. Sign in with the email address that you used to sign up for the waitlist. You'll be sent a magic link to sign in with, or if your device is recent enough, you'll use passkeys, an easier and safer alternative to passwords.

There are three big parts right now - members, items, and circulation. By default, your library starts empty - please get in touch with support if you want random fake data to start off with.

Members are the people who can borrow from your library. A great feature of InfiLib is that your members can sign in too! From their homes, they can see all the items you have, and "mark" them for borrow for a certain time. You'll get a notification and keep the book ready, so that you can easily hand over the book and "pop" the mark when the member arrives.

On the items page, you view the core of your library - we currently support books and magazines. You can add items by clicking on the "Add Item" link on the top left of the items page. Items can be for reference, in which case they can't be borrowed.

It's easy to add items in InfiLib - we have support both scanning the ISBN or entering it manually, and we automatically fetch most of the details for you. If you'd like the have the cover image, please upload it/fetch it from elsewhere and add the URL to the item. We allow easy access of past categories, publishers, and authors, so that you don't have to type them in again and again.

Circulation is where you see all the transactions in your library. You can filter by "Due Today", and many more enhancements await this portal! Of course, send in your feedback to support and whatever you want, we hope we can add it.

The Stats page will be one of the stand-out features of InfiLib, allowing librarians to make justified, beneficial, decisions for their libraries, but it's currently in development and we only have a basic report.

Libraries can have different types of subscription. By default, you have the Membership subscription - which has users pay for each book. This makes sense for professional libraries by default, but most libraries also have other, premum, subscriptions where the user pays an annual or monthly amount and can borrow a certain number of books for free. Alternatively, you might have a school or home library and not charge anybody at all.

In these cases, you would go to the Settings page and add a subscription type. When you then create a member, you can assign them this subscription type.

In User Settings, you and your members can update your details.

How do members mark your books? Just give them this link: infilib.vercel.app/<library-name>/public/. While members obviously cannot access the admin portal (only you can!), they can view details relating to your library (this part not complete yet) and mark books for borrow here.

Enjoy InfiLib!

Contributing

First off, thank you so much! Please open issues before filing PRs, unless it's something minor (typo, formatting). If you'd like more long term involvement, please get in touch with us.

  1. Follow this guide to set up PostgreSQL on your machine, and then add the following lines to a file called .env:
DATABASE_URL=postgresql://<user>@localhost:5432/<db-name>
POSTGRES_URL_NON_POOLING=postgresql://<user>@localhost:5432/<db-name>
  1. You also need to set up Passage, and add the following lines to your .env (if you're working directly with me, I should have given you these details):
PASSAGE_API_KEY=...
PUBLIC_KEY_PASSAGE=...
PUBLIC_PASSAGE_APP_ID=...
  1. Get the app set up by running the following. If all works, great! If an error is thrown (it happens for some), run npx prisma generate && node prisma/seed.js.
npm i
  1. Start InfiLib using npm run dev!

License

TBD

Contact

Please email us at hello.infilib@gmail.com.