Library

Go / Gin / PostgreSQL / Angular

A university library management application: item search, loans, deposit tracking and user administration.

Two profiles: users (students, teachers, individuals) search and borrow copies and view their loans, while librarians create users and items, manage copies and track overdue loans.

The back end is a Go REST API (Gin) backed by PostgreSQL with native table inheritance, documented with Swagger. The front end is built with Angular and Bootstrap, and the interface is available in English and French.

Continuous integration

Every push to the main branch triggers a chain of workflows:

  • GitHub Actions pipeline: Go and Angular builds, unit tests, e2e tests against the real API, Swagger generation and linting
  • Docker images published to the GitHub Container Registry
  • Documentation automatically deployed to GitHub Pages
  • Repository mirrored to GitLab, with an equivalent GitLab CI pipeline

GitHub Documentation

Gallery