Skip to content

Useful information for the developers

While the Alma-Primo Locate Tool is not an extremely complex application, it structure can be confusing if the right context is not given.

Laravel

This application was made using the Laravel framework, version 8. Extensive documentation is available on the official website.

The .env file

The .env file is crucial for for your application. Make sure to go through it and check that the right settings are typed in. The .env file includes variables such as the URL where your application will be hosted, the application's name, the Alma API key, etc.

Config

The /config folder contains many settings for your application. Makes sure you go through all the files and change any settings you need.

MVC paradigm

The APLT is based on Laravel, as a consequence it is also based on the MVC Paradigm.

Models

The models are found in /app

Bug

The models need some love. Feel free to create a pull-request if you want to help us!

Controllers

The controllers are found in app/Http/Controllers - This is where the magic happens!
The controllers are extensively commented and contain a lot of information about the logic of this application. Before deploying, please spend time in the individual controllers to understand how this application works.

Views

Views are found in resources\views - The views are, essentially, what the user is going to see. The template is found in resources\views\layouts\app.blade.php and it will determine most of the look-and-feel of your application.

Alma API

APLT uses the Alma API to retrieve an institution's Alma Libraries and their Alma Locations. Extensive information is available at the ExLibris Developer Network. In this specific case we are using APIs coming from the Configuration and Administration Alma REST APIs:

  • Retrieve Library: GET /almaws/v1/conf/libraries
  • Retrieve Locations: GET /almaws/v1/conf/libraries/{libraryCode}/locations
  • Retrieve Location: GET /almaws/v1/conf/libraries/{libraryCode}/locations/{locationCode}

The API calls are used in the controllers in app\Http\Controllers.

Contributing

We welcome contributions to this application! Feel free to make Pull-Requests, comments, open issues, etc.