Skip to content

📚 A Java-based for managing various reading materials including books, magazines, e-books, journals with a Swing and file-based persistence.

Notifications You must be signed in to change notification settings

EgeGermen/LibroManager

Repository files navigation

LibroManager

Author: Ege Germen

Description

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.

Features

  • 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.).

Class Diagram

[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

How to Compile and Run

You can follow these steps to compile and run the project:

  1. Compilation: To compile all .java files, run the following command in the terminal or command prompt:

    javac *.java
  2. 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:
      java Test
      This command will add several sample materials to the books.txt file.

About

📚 A Java-based for managing various reading materials including books, magazines, e-books, journals with a Swing and file-based persistence.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages