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
- 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)
- Available operations:
- Add new author
- Edit and update author
- Delete author
- View all authors (with search, sorting and pagination)
- Available operations:
- Add new category
- Edit and update category
- Delete category
- View all categories (with search, sorting and pagination)
- 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)
- Available operations:
- Add new book
- Edit and update book
- Delete book
- View all books (with search, filtering and pagination)
- Issuance and return of library resources
- Start loan
- Limitation: max
5
books 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)
- 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
You should have the following installed:
- Docker bundled with docker-compose
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 -DskipTests
-
Build 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 down
-
Remove
library-management-system.jar
Docker image:
docker rmi library-management-system.jar
-
Repeat previous steps 2.-4.
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
MailHog Web UI, an email testing tool for developers, is available at http://localhost:8025/.
โ๏ธ api-team members: