BookLib Library Management System is a comprehensive JavaFX application developed for library in Sri Lanka. The system modernizes the traditional manual library operations, offering an efficient digital solution for book management, user registration, borrowing processes, and fine calculations.
- Book Management: Add, update, delete, and search books by various parameters
- User Management: Register and manage library patrons with detailed profiles
- Borrowing System: Track book checkouts, returns, and borrowing history
- Fine Management: Automatic calculation of overdue fines with payment tracking
- Reporting: Generate comprehensive reports on book availability, loans, and fines
🔐 Begin Your Journey
The gateway to efficient library management starts here
Your comprehensive overview of library operations and key metrics
Building relationships with readers through detailed member profiles
Curate and manage your growing treasury of knowledge
Secure patron verification ensures proper book circulation
Seamless book checkout and return processing
Transparent fine tracking and payment processing
Comprehensive circulation metrics at your fingertips
Deep dive into borrowing patterns and trends
Strategic decision-making through powerful data visualization
Secure system access with role-based administrator registration
- Frontend: JavaFX with JFoenix for modern UI components
- Backend: Java
- Standalone: JavaFX
- Database: MySQL with direct JDBC connection
- Build Tool: Maven
- Reports: Custom report generation
- Java 11 or higher
- MySQL 8.0 or higher
- Maven 3.8+
-
Clone the repository
https://github.com/Nugi29/Library_Management_Sys_FX.git cd Booklib_LMS -
Configure the database
- Create a MySQL database named
Booklib - Update the database connection details in
Booklib_LMS/src/main/java/DB/DBConnection.java
- Create a MySQL database named
-
Build the project
mvn clean install
-
Run the application
mvn javafx:run
Based on the screenshots provided, the project follows an MVC architecture:
booklib-lms/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── controller/
│ │ │ │ ├── author/
│ │ │ │ ├── book/
│ │ │ │ ├── bookborrow/
│ │ │ │ ├── category/
│ │ │ │ ├── fine/
│ │ │ │ ├── member/
│ │ │ │ ├── publisher/
│ │ │ │ ├── report/
│ │ │ │ ├── DashboardController
│ │ │ │ ├── LoginFormController
│ │ │ │ └── RegisterFormController
│ │ │ ├── DB/
│ │ │ │ └── DBConnection
│ │ │ ├── model/
│ │ │ │ ├── reportModels/
│ │ │ │ ├── Admin
│ │ │ │ ├── Author
│ │ │ │ ├── Book
│ │ │ │ ├── BookBorrow
│ │ │ │ ├── Category
│ │ │ │ ├── Fine
│ │ │ │ ├── Member
│ │ │ │ └── Publisher
│ │ │ ├── WeatherService
│ │ │ ├── Main
│ │ │ └── Starter
│ │ └── resources/
│ │ ├── css/
│ │ ├── img/
│ │ └── view/
│ │ ├── authorform.fxml
│ │ ├── bookborrowform.fxml
│ │ ├── bookborrowloginform.fxml
│ │ ├── bookform.fxml
│ │ ├── categoryform.fxml
│ │ ├── dashboard.fxml
│ │ ├── fineform.fxml
│ │ ├── loginForm.fxml
│ │ ├── memberform.fxml
│ │ ├── publisherform.fxml
│ │ ├── RegNewAdmin.fxml
│ │ ├── reportform.fxml
│ │ └── userform.fxml
│ └── test/
└── pom.xml
- Navigate to the Book section to add, update, or delete books
- Use the search functionality to find books by title, author, or genre
- Register new users with their details
- Manage existing user information and membership status
- Process book borrowing and returns
- Set borrowing limits (3 books per user)
- Track return dates and automatically calculate overdue fines
- View outstanding fines for users
- Process fine payments and update balances
- Generate reports for available books, borrowed books, and overdue books with fines
- Real-time weather data displayed on the dashboard including temperature, location, wind, and humidity
This project was developed as part of the JavaFX project. It implements:
- CRUD operations for all entities (Books, Authors, Categories, Publishers, Members)
- Data validation and error handling
- Modern UI design with responsive layout
- Direct database interaction through JDBC
- Weather API integration for live weather data
- Email notifications for due dates and overdue books
- Online reservation system
- Integration with digital book repositories
- Mobile application for users
- QR code scanning for faster book checkout
Developed by @Nugi29
