{"id":20764555,"url":"https://github.com/jlokitha/library-management-system","last_synced_at":"2025-04-30T08:24:34.078Z","repository":{"id":227799419,"uuid":"766118692","full_name":"jlokitha/Library-Management-System","owner":"jlokitha","description":"A Java and JavaFX Library Management System for efficient book borrowing, member management, transaction tracking, and seamless administrative operations.","archived":false,"fork":false,"pushed_at":"2024-12-21T10:37:29.000Z","size":651,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T14:22:56.775Z","etag":null,"topics":["hibernate","java","javafx","library-management","library-system","member-management","mysql","transaction-tracking"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jlokitha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-02T11:46:52.000Z","updated_at":"2025-02-20T13:47:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"79f91377-2f45-4512-a474-f837ad2908d6","html_url":"https://github.com/jlokitha/Library-Management-System","commit_stats":null,"previous_names":["jlokitha/library-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FLibrary-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FLibrary-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FLibrary-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FLibrary-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlokitha","download_url":"https://codeload.github.com/jlokitha/Library-Management-System/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251667473,"owners_count":21624504,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hibernate","java","javafx","library-management","library-system","member-management","mysql","transaction-tracking"],"created_at":"2024-11-17T10:52:43.036Z","updated_at":"2025-04-30T08:24:34.072Z","avatar_url":"https://github.com/jlokitha.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library Management System\n\n## Overview\n\nThis project is a Library Management System built using Java, JavaFX, MySQL, and Hibernate. It is designed to manage the operations of a library, including book borrowing, member management, and transaction tracking. The system provides a user-friendly interface for both administrators and members to interact with the library's resources.\n\n## Features\n\n- **Admin Management**: Admins can manage library branches, books, and member accounts.\n- **Member Management**: Members can sign up, sign in, and manage their profiles.\n- **Book Management**: Admins can add, update, and delete books. Members can view available books and borrow them.\n- **Transaction Management**: Track book borrowings, returns, and due dates.\n- **Email Notifications**: Send email notifications for account creation, password changes, and account deletions.\n\n## Technologies Used\n\n- **Java**: The core programming language used for the application.\n- **JavaFX**: Used for building the graphical user interface.\n- **MySQL**: The database system used to store library data.\n- **Hibernate**: An ORM (Object-Relational Mapping) framework used to interact with the MySQL database.\n\n## Project Structure\n\n- `controller`: Contains the controllers for handling UI interactions.\n- `dto`: Contains Data Transfer Objects (DTOs) for transferring data between layers.\n- `entity`: Contains entity classes representing the database tables.\n- `repository`: Contains repository interfaces and implementations for database operations.\n- `service`: Contains service interfaces and implementations for business logic.\n- `util`: Contains utility classes for email sending and session management.\n\n## Setup and Installation\n\n1. **Clone the repository**:\n    ```sh\n    git clone https://github.com/jlokitha/Library-Management-System.git\n    ```\n\n2. **Open the project in IntelliJ IDEA**:\n    - Open IntelliJ IDEA.\n    - Select `File \u003e Open` and choose the cloned project directory.\n\n3. **Set up the database**:\n    - Create a MySQL database named `BookWorm`.\n    - Import the provided SQL script to create the necessary tables and initial data.\n\n4. **Configure Hibernate**:\n    - Update the `hibernate.cfg.xml` file with your MySQL database credentials.\n\n5. **Build and run the project**:\n    - Open the project in IntelliJ IDEA.\n    - Build the project and run the main application class.\n\n## Usage\n\n- **Admin**:\n    - Sign in with admin credentials.\n    - Manage books, branches, and member accounts.\n    - View and manage transactions.\n\n- **Member**:\n    - Sign up for a new account.\n    - Sign in with member credentials.\n    - View available books and borrow them.\n    - Manage personal profile and view transaction history.\n\n## License\n\nThis project is licensed under the MIT License. See the [MIT License](LICENSE) file for more details.\n\n##\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/jlokitha\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/GitHub-000000?style=for-the-badge\u0026logo=github\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003ca href=\"https://git-scm.com/\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/Git-000000?style=for-the-badge\u0026logo=git\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.jetbrains.com/idea/download/?section=windows\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/java-000000?style=for-the-badge\u0026logo=openjdk\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.mysql.com/downloads/\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/MySQL-000000?style=for-the-badge\u0026logo=mysql\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003ca href=\"https://hibernate.org/orm/\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/Hibernate-100000?style=for-the-badge\u0026logo=Hibernate\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.jetbrains.com/idea/download/?section=windows\" target=\"_blank\"\u003e\u003cimg src = \"https://img.shields.io/badge/intellij-000000?style=for-the-badge\u0026logo=intellijidea\u0026logoColor=white\"\u003e\u003c/a\u003e\n\u003c/div\u003e \u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u0026copy; 2024 Janindu Lokitha\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlokitha%2Flibrary-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlokitha%2Flibrary-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlokitha%2Flibrary-management-system/lists"}