/opacclient

[unmaintained] A Java client library and an Android app to access more than 1,000 public and scientific libraries from all over the world.

Primary LanguageJavaMIT LicenseMIT

Screenshot

Web Opac App

Android client for public libraries. See opacapp.net for details.

Deprecated

This project is end-of-life as of 2024-06-30. No more changes to this repository are planned and the app will no longer receive updates.

More info on https://opac.app/en/

Features

  • Search the catalogue
  • Make reservations
  • Bookmarks
  • Account view
  • Extending lending periods
  • Notification for return dates
  • Search by ISBN using barcodes
  • Much more cool stuff

Not all of the features are available for every library.

Support

Supports web catalogues of different library system vendors, see our website or wiki for details.

Java Library (libopac)

The underlying code that the app uses to connect to the different supported OPAC software systems and parse data from them is available as a separate library called libopac. It can also be used in ordinary Java projects because it does not depend on Android APIs. More information about the library can be found in its own README file.

Library configuration files

The JSON configuration files for each library previously located in the opacclient/opacapp/src/main/assets/bibs directory were recently removed from the repository and can be downloaded from our server. For more information about this, see here.

Contributing

We'd like to invite you to contribute to our project, e.g. by improving the user interface or adding support for new libraries. Additionally, you could help to extend our test suite to increase this number: Coverage Status 😉.

Checking out the project with Android Studio should be fairly straightforward, but we also have a little bit of information in the project wiki. Contributions are best submitted via GitHub pull requests.

If you get stuck anywhere in the process, please do not hesitate to create a draft pull request and ask us there!

Please note that we have a Code of Conduct in place that applies to all project-related communication.

License

This code is released under the terms of the MIT License

It contains several libraries:

  • jsoup, (c) Jonathan Hedley and contributors, MIT License
  • ACRA, (c) Kevin Gaudin and contributors, Apache License
  • cwac-endless and cwac-adapter, (c) CommonsWare, LLC and Google, Inc., Apache License
  • Android Support library, (c) Google Inc., Apache License
  • NineOldAndroids, (c) Jake Wharton, Apache License
  • android-flowlayout, (c) Artem Votincev, Apache License
  • rv-joiner, (c) Evgeny Egorov, Apache License

Authors

Many thanks go to our contributors, including: