The scope of the platform is to manage the activities of a library and to keep track of its books, authors, readers, sections and publishing houses.
- Book class
- an abstract class which stores basic information about a book (title, number of pages, publishing date, section, author, publishing house)
- Pbook -> extends the Book base class, representing a physical book (adds the atribute number of copies)
- Ebook -> extends the Book base class, representing a virtual book (adds the stribute format)
- Section class
- a class which represents a section of the library (name, books belonging to it)
- Person class
- an abstract class which stores the basic information of a person (name, birthdate, email)
- Author -> extends base class Person, representing an author whose books can be find in the library (adds specific methods such as publish book)
- Reader -> extends base class Person, representing a reader enrolled in the library (adds specific methods such as lend book and return book)
- PublishingHouse class
- a class which stores information about a publishing house associated with the library (name, books it published)
- Library class
- a service class which stores a TreeSet of every component of the library and implements all the functionalities
- Program class
- the main class where the user can choose which functionalities to use from the existing 27
- Audit class
- a singleton class which saves logs regarding the actions performed and their timestamps into the file log.csv
- CSV class
- a singleton class which serves to read and write from/into csv files
- Listing the details about the library
- Listing all the books from the library
- Adding a new book into the library
- Removing a book from the library
- Adding copies of a physical book to the library
- Removing copies of a physical book from the library
- Listing all the sections of the library
- Adding a new section to the library
- Removing a section from the library
- Listing all the books from a section
- Adding a book into a section
- Removing a book from a section
- Listing all authors
- Adding an author into the library
- Removing an author from the library
- Listing all the books of an author that are in the library
- Adding a new book from an author
- Listing all the enrolled readers of the library
- Enrolling a new reader into the library
- Removing a reader from the library
- Viewing the books lent by a reader
- Lending a book by a reader
- Returning a book by a reader
- Listing all publishing houses with whom the library is associated
- Associating a new publishing house with the library
- Removing a publishing house
- Listing all the books from a publishing house