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
Stack
Status
Links
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
- 01Role-based: students and librarians
- 0214-day loans with an overdue-fines system
- 03JPA Specification search over the catalog
- 04JWT-secured REST API (22 endpoints)
- 0522 JUnit/Mockito tests
- 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