xMOROx / Library-management-system

Repository for Object Technologies Course at AGH UST for project purpose.

Repository from Github https://github.comxMOROx/Library-management-systemRepository from Github https://github.comxMOROx/Library-management-system

Documentation

Table of Contents

Technologies

  • Java 17
  • Spring Boot
  • Spring Data JPA/JDBC
  • Spring Mail
  • MySQL/MariaDB
  • JavaFX
  • MaterialFX
  • JavaFX-Ikonli
  • Ikonli-Fontawesome5
  • Lombok
  • Gradle

Setup

Set the database credentials in the application.properties file.

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name  
spring.datasource.username=your_username  
spring.datasource.password=your_password  

Disable spring.profiles.active=dev.

Run the file src/main/java/pl/edu/agh/managementlibrarysystem/ManagementLibrarySystemApplication.java or execute the command gradle bootRun in the root directory of the project.

Database Schema

Database Schema

Object Schema

Object Schema

Objects can be found in the directory/package src/main/java/pl/edu/agh/managementlibrarysystem/models.

Adding a New User

Creating a new user account

Step 1: Create Account Step 2: Confirm Account Creation

Adding and Modifying Users as an Admin

Adding Users as Admin Editing Users as Admin

Data Display

Viewing Books

Viewing Books

Viewing Additional Book Details

Book Details

Viewing Borrowed Books

Borrowed Books

Viewing Notifications

Notifications

Viewing Users

Users List

Data Updates And Additions

Adding Books to the Library (including authors, publishers, and genres)

Add Book with Details

Returning or Renewing a Book (if days are specified)

Return Book

Borrowing a Book

Borrow Book

Profile

Viewing and Modifying User Profiles

User Profile

Settings

Changing System Settings as an Administrator

  • Changing the admin password: Change Admin Password
  • Modifying fees: Modify Fees
  • Configuring the SMTP server: SMTP Configuration

Announcements

Sending Notification Emails to Users (by librarian or administrator)

Add Notification

Statistics

Available for both regular users and administrators/librarians:

  • User Statistics: User Statistics
  • Admin Statistics: Admin Statistics
  • Shared Visualizations: Shared Charts

Recommendations

A module providing book recommendations to users based on observed preferences: Book Recommendations

Reviews

Allows users to review and rate books: Review and Rate Books

About

Repository for Object Technologies Course at AGH UST for project purpose.


Languages

Language:Java 98.5%Language:CSS 1.5%