Library

A library platform for lending out books at the Infogroep room.

I built a library platform that tracks which books are available in the Infogroep room library.

Infogroep, the Computer Science student association at the Vrije Universiteit Brussel (VUB), maintains an extensive library for members. This platform tracks which books are available, who has borrowed which book, and it automatically adds warranties in IG6Tool.

Features #

  • Public UI showing book availability.
  • Users can authenticate using OpenID Connect with their IG6Tool account.
  • Authenticated users can view the books they are currently borrowing.
  • Users can renew their borrows online.
  • Automated email notifications are sent when a book almost needs to be returned.
  • Privileged users can create books and manage borrows.
  • Book data can be imported from Google Books and OpenLibrary by providing an ISBN.

Tech Stack #

The platform is built with Next.js, TypeScript, and shadcn/ui. It is running on Kubernetes, using GlitchTip for error reporting.

It’s fully implemented in Next.js 15 using the App Router, since I wanted to explore server components. (Except for a Kubernetes cron job that handles automated email notifications.)