Library Software Server

A custom PHP and MariaDB software distribution platform featuring university SSO, group-based licensing permissions, administrative management, and download analytics.

Overview

Developed a custom software distribution platform from scratch for a university library, providing authorized campus users with access to licensed software through a secure, centralized web application.

The system includes two distinct interfaces: a public-facing software catalog and an administrative backend for managing software, access permissions, documentation, and download analytics.

The Challenge

The university needed a centralized way to distribute software while respecting licensing agreements that restrict access to specific campus populations.

Different software titles could be available to students, faculty, staff, emeriti, or volunteers, depending on the applicable license. Administrators also needed a way to manage software versions, provide installation instructions, and monitor downloads without manually maintaining the public-facing catalog.

The Solution

Designed and developed a custom application with two interconnected interfaces, both protected by the university’s Single Sign-On (SSO) authentication system.

The administrative backend allows authorized administrators to manage software listings, upload different versions, configure access permissions by user group, and maintain supporting documentation.

The public-facing interface displays the software and resources managed through the backend, with download access determined by each user’s university affiliation and the licensing restrictions configured by administrators.

Technical Implementation

The application includes several integrated components:

  1. SSO authentication: Both interfaces require users to authenticate through the university’s Single Sign-On system.
  2. Group-based authorization: Software download permissions are configured for eligible university user groups, including students, faculty, staff, emeriti, and volunteers.
  3. Administrative CRUD: A custom backend supports creating, viewing, updating, and deleting software records and managing multiple software versions.
  4. Software distribution: The frontend presents available software and enforces access restrictions according to configured licensing permissions.
  5. Documentation management: Administrators can provide software descriptions, installation instructions, and links to supporting resources.
  6. Download analytics: An administrative reporting area provides download statistics for individual software versions.

Outcome

Created a centralized, access-controlled software distribution system that brings software management, licensing permissions, documentation, and download analytics into a single application.

The solution gives administrators control over software availability while providing authorized campus users with a consistent interface for finding and downloading the software they need.