/Library

📚 The librarian's librarian

Primary LanguageJava

Library Checkout

This project is a reconstruction of a previous work from my first introduction to computer science course. The main purpose of this project was to demonstrate understanding of OOP as well as familarizing myself with using git as a DVCS. An in-depth understanding of class relations, as well as the purpose of an interface's 'contractual' inheritance was gained from building this program, twice. I learned the importance of backing-up files the hard way... which is where using git came into play. The oportunity for source code version control, as well as a cloud based instance for backing up data (along with multiple others) was met with open arms.

There are three main classes and a single interface:

A Book interface
A Patron class
A LibraryBook class
A Library class

The interface was used to gain understanding of the contractual relationship between a class that implements an interface.

Functionality

The library program is that of a typical library checkout system...

  • This program allows the user to add and remove patrons.
  • Add and remove library books.
  • See lists containing all patrons or all Library books in the system.
  • Books, if checked out, display the due date.
  • Patrons display first and last name and books checked out, if any.
  • The ability to search for a patron or library book by key phrase / word.
  • Check out a library book.
  • Display a list of all currently checked out Library books.