This document provides a description and overview of a program designed to manage a library. The program has a graphical user interface with multiple windows. The first window allows a user to log in as a normal user or staff user. Normal users can search for books by title or author and view availability. Staff users can search, add, delete, update books in the library stock and check books in and out. The program uses classes to manage the GUI, user login/authentication, and book data. Functionality includes searching, adding, updating, deleting books as well as checking books in and out.