Skip to content

Sistema de Gerenciamento de Biblioteca em Java. Implementando funcionalidades com JavaFX e estudo de princípios OO.

License

Notifications You must be signed in to change notification settings

raisalomao/librarymanagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library Management

This is a book management system for a library. Its main objective is to combine knowledge of object-oriented programming with good design pattern practices in Java. One of its strengths was the application of the entire graphical interface through JavaFX.

Main presentation screen of the application: Firts Screen

This is the second screen, resulting from the button to start the application. Giving the user the opportunity to click on different menu items for management: Seconcd Screen

The system has 5 main menus for management:

  • Books: where you can list the books that have been added and are available, add books and remove them;
  • Loan Transactions: where the user or library administrator can start a loan and return a loan;
  • Reports: here you can see which books in the library are currently on loan and which books have passed their loan term and what the current fine rate is in relation to this;
  • Users: you can list, create, remove and see the entire loan history for each user individually;
  • Back: Returning to the home page.

Book Management Section Behavior

See below the presentation of the screens for each button in the menu item:

List Books

Where you can list the books that have been added and are available. In addition to being able to search by title, author or publication date: image

Add a Book

Add all the properties a book can have: image

Remove a Book

Remove a book by passing its ID securely: image

Loan Transactions Management Section Behavior

Registering the functionalities focused on loan and return transactions of a book, passing only one or more than one book. The business rule in this case is: each user, per loan, can borrow 5 books at a time:

Loan a Book

The administrator or user is asked to identify the ID that will start the loan, the date the loan will take place and select a maximum of 5 books. In addition to being able to search for the title of the book you want to borrow: image

Return a Book

When clicking the book return button, you must enter the ID of the borrower, the return date and which book you want to return. If there is no loan record in the system, a non-loan message is displayed: image

How can i run the application?

- mvn install & mvn exec:java -pl app

Where can I see the code for my plugins?

- plugins/extensions/src/main/java/application/management/plugins/...

Where are .jar plugins generated?

- plugins/<here>

What is the directory structure?

    ├───app
    │   └───src
    │       └───main
    │           ├───java
    │           │   └───application
    │           │       └───management
    │           │           ├───shell
    │           │           └───utils
    │           └───resources
    ├───interfaces
    │   └───src
    │       └───main
    │           └───java
    │               └───application
    │                   └───management
    │                       └───interfaces
    └───plugins
        └───extensions
            └───src
                ├───main
                │   └───java
                │       └───application
                │           └───management
                │               └───plugins
                └───resources

Extra informations:

- The system has other icons that can be used. Can be found along the way:
    - app/src/main/resources/...
- Customize them by changing in UIController.java in the showIntroScreen method the line:
    - Image image = new Image(getClass().getResource("/icon.png").toExternalForm());

About

Sistema de Gerenciamento de Biblioteca em Java. Implementando funcionalidades com JavaFX e estudo de princípios OO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages