Back to projects

library management

Library management system

September 2023
TypeSript
React
Next.js
Prisma
PostgreSQL
Docker

This Library Management System is designed to streamline the process of searching for and borrowing media. The application offers a user-friendly interface where customers can quickly search the catalog, view detailed information about media items, and see a list of their currently borrowed items. Additionally, library staff can securely log in to access administrative tools for managing media records and user accounts.

Mockup of the Library Start Page showing media search and borrowed media functionalities.
Figure 1: Mockup of the Library Start Page showing media search and borrowed media functionalities.

The application is organized into key sections to serve both customers and staff:

  • User Start Page: Provides immediate access to media search functionalities and displays borrowed media.
  • Staff Start Page: Contains administrative tools for managing media records and user accounts.
  • Media Search Interface: Allows users to search through the catalog with an intuitive search bar and results table.
  • Staff Edit Media Page: Enables staff to modify media records through a comprehensive editing form.
Staff Start Page with administrative tools for managing media and user accounts.
Figure 2: Staff Start Page with administrative tools for managing media and user accounts.
The Media Search page displays a search bar with results formatted in a clear, accessible table.
Figure 3: The Media Search page displays a search bar with results formatted in a clear, accessible table.
Staff can edit media records with a form that includes fields for title, author, and genre.
Figure 4: Staff can edit media records with a form that includes fields for title, author, and genre.
Staff can return borrowed books with a form that includes fields for book title, author, and borrower.
Figure 4: Staff can return borrowed books with a form that includes fields for book title, author, and borrower.

The Library Management Systems database schema is defined using Prisma.

End-to-end tests are written using Cypress to ensure the application functions as expected.