https://github.com/anamarijapapic/library-management-system
Final project for college subject Java Programming. Web application that manages the library. It enables viewing the library catalog and taking actions on library materials and users. 📚👥
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.7%) to scientific vocabulary
Keywords
Repository
Final project for college subject Java Programming. Web application that manages the library. It enables viewing the library catalog and taking actions on library materials and users. 📚👥
Basic Info
Statistics
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Library Management System
Table of Contents
General Info
Library Management System is a web application that manages the library. It enables viewing the library catalog and taking actions on library materials and users. 📚👥
Project created as a college seminar:
SRC125 - Programming in Java
University of Split - University Department of Professional Studies

Features
User Management
- Roles (base for authorization):
- Admin
- Librarian
- Member
- Available operations:
- User creation (adding new user)
- Edit and update user data
- Delete user
- Authentication (login/logout)
- Show all users (with search, filtering, sorting and pagination)
- Show user details for specific user
- Show current user details (My Details)
Library Materials/Resources & Catalog Management
Authors
- Available operations:
- Add new author
- Edit and update author
- Delete author
- View all authors (with search, sorting and pagination)
Categories
- Available operations:
- Add new category
- Edit and update category
- Delete category
- View all categories (with search, sorting and pagination)
Works
- Available operations:
- Add new work
- Edit and update work
- Delete work
- View all works (with search, filtering, sorting and pagination)
- View all book copies of specific work (with search, filtering and pagination)
Books
- Available operations:
- Add new book
- Edit and update book
- Delete book
- View all books (with search, filtering and pagination)
Resource Borrowing - Loans
- Issuance and return of library resources
- Start loan
- Limitation: max
5books per member borrowed at the same time
- Limitation: max
- End loan
- Start loan
- View all loans (with sorting and pagination)
- View all loans of specific book (with sorting and pagination)
- View loans by member - current loans and previous loans (with sorting and pagination)
Mail Notification Sending
- Send "Welcome" mail to user when his account is created
- Send "Loan Started" mail to member when he borrows a book
- Send "Loan Ended" mail to member when he returns a book
Technologies
Database Model
Getting Started
Requirements
You should have the following installed:
- Docker bundled with docker-compose
Running the Application
Run the following commands in terminal:
Position in the project folder (run from repo root directory):
cd library-management-system/Build project .jar file in target folder:
./mvnw clean package -DskipTestsBuild and start the docker environment and local web server:
docker-compose up(you can stop it with a singlecmd/ctrl+c)Open http://localhost:8080/ in your browser.
If for any reason you need to modify the code and apply changes, you should:
Stop and remove Docker containers and their volumes:
docker-compose downRemove
library-management-system.jarDocker image:
docker rmi library-management-system.jarRepeat previous steps 2.-4.
Managing the Database
You can see the PostgreSQL database inside IntelliJ IDEA Database window, just do the following:
View -> Tool Windows -> Database -> + -> Data Source from URL and enter
- URL:
jdbc:postgresql:///postgres - Driver:
PostgreSQL
Then configure properties:
- Username:
postgres - Password:
postgres - Database:
postgres - Host:
localhost - Port:
5432
Testing Mail Sending
MailHog Web UI, an email testing tool for developers, is available at http://localhost:8025/.
Credits
✍️ api-team members:
Owner
- Name: Anamarija Papić
- Login: anamarijapapic
- Kind: user
- Location: Split, Croatia
- Company: @Agilo
- Repositories: 2
- Profile: https://github.com/anamarijapapic
GitHub Events
Total
- Issues event: 2
- Watch event: 2
- Issue comment event: 2
Last Year
- Issues event: 2
- Watch event: 2
- Issue comment event: 2
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Anamarija Papić | a****0@o****r | 35 |
| Petar1107 | p****0@o****r | 19 |
| imihanovic | i****4@g****m | 10 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: about 1 hour
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 2.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: about 1 hour
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 2.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- CyberScopeToday (1)