Author: Ege Germen
LibroManager is a Java-based desktop application developed to manage various reading materials (books, magazines, e-books, etc.). The application features a graphical interface built using Swing and file-based data persistence. This project offers an extensible and easily maintainable structure using object-oriented programming (OOP) design principles.
- Ability to add different types of reading materials (Book, Novel, Magazine, Technical Journal, Textbook, Comic Book, E-Book).
- Dynamically changing user interface based on material type.
- Saving added materials to a text file (
books.txt). - Managing basic material information (title, page count, publisher) and type-specific information (author, genre, etc.).
[ReadingMaterial] (Abstract)
- title: String
- numberOfPages: int
- publisher: String
+ displayDetails(): void
+ describeMaterial(): void (Abstract)
^
|
+-- [Book]
| - author: String
| - primaryCharacters: String[]
| ^
| |
| +-- [Novel]
| | - genre: String
| +-- [ComicBook]
| | - illustrator: String
| +-- [EBook]
| | - fileFormat: String
| +-- [Textbook]
| - subject: String
| - academicLevel: String
|
+-- [Magazine]
| - issueNumber: int
| - publicationDate: String
|
+-- [TechnicalJournal]
- scope: String
- impactFactor: double
- volumeNumber: int
- issueNumber: int
- year: int
[FileHandler]
+ saveToFile(material: ReadingMaterial, filename: String): void
[ReadingMaterialUI] (JFrame)
- ... (Swing Components)
+ main(args: String[]): void
[Test]
+ main(args: String[]): void
You can follow these steps to compile and run the project:
-
Compilation: To compile all
.javafiles, run the following command in the terminal or command prompt:javac *.java -
Running: You have two options to run the application:
- Graphical User Interface (GUI):
To launch the user interface, run the following command:
java ReadingMaterialUI
- Test Class:
To test the basic functionality of the program using predefined test data, run the following command:
This command will add several sample materials to the
java Test
books.txtfile.
- Graphical User Interface (GUI):
To launch the user interface, run the following command: