Scene 01Case file

Library Management System

A Spring Boot 3 REST API with a React 19 dashboard for running a library: students browse, borrow, and pay overdue fines; librarians manage the catalog, loans, and fines.

Year

2026

Stack

Java 17 · Spring Boot 3 · Spring Data JPA

Status

Shipped

Links

n/a
Library Management System screenshot

Overview

Built for SEN 402.

Two roles share one system: students search the catalog, borrow books on 14-day loans, and see and pay overdue fines; librarians manage the catalog, issue and return loans, and handle fines.

The backend is Java 17 with Spring Boot 3 and Spring Data JPA on PostgreSQL, secured with JWT. Catalog search uses JPA Specifications so filters compose cleanly. There are 22 REST endpoints and 22 JUnit/Mockito tests. The dashboard is React 19 with Vite, TanStack Query, React Router, and Tailwind CSS.

What I built

  1. 01Role-based: students and librarians
  2. 0214-day loans with an overdue-fines system
  3. 03JPA Specification search over the catalog
  4. 04JWT-secured REST API (22 endpoints)
  5. 0522 JUnit/Mockito tests
  6. 06React 19 + TanStack Query dashboard

Stack

Java 17 · Spring Boot 3 · Spring Data JPA · PostgreSQL · JWT · JUnit + Mockito · React 19 · Vite · TanStack Query · Tailwind CSS

Next caseFarmEase

More work