Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alyvswag/library-project
Online Library Management System
https://github.com/alyvswag/library-project
api-rest css docker hibernate-jpa html java javamailsender junit-test maven postgresql rabbitmq redis redisson spring-aop spring-boot spring-security spring-security-jwt
Last synced: 1 day ago
JSON representation
Online Library Management System
- Host: GitHub
- URL: https://github.com/alyvswag/library-project
- Owner: alyvswag
- License: apache-2.0
- Created: 2024-08-20T16:26:50.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T10:53:49.000Z (2 months ago)
- Last Synced: 2024-09-14T22:29:28.840Z (2 months ago)
- Topics: api-rest, css, docker, hibernate-jpa, html, java, javamailsender, junit-test, maven, postgresql, rabbitmq, redis, redisson, spring-aop, spring-boot, spring-security, spring-security-jwt
- Language: Java
- Homepage:
- Size: 7.34 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
-----
Project name: Online Library Management System
------
The purpose of the project: To create a complex system for the provision of library resources, users and management.
-----
Functions:○ Books:
■ Searching and filtering books (category, author, year of publication, etc. on).
■ Adding, updating, deleting and viewing books.
■ Inventory management of books (tracking the number of books).○ Authors:
■ Searching and filtering authors
■ Adding, updating, deleting and viewing authors.
■ Management of authors ' books.○ Rating and reviews:
■ Users writing ratings and reviews for books.
■ Viewing Ratings and reviews.○ Book Reservation:
■ For users to reserve books online.
■ For users to reserve books online.
■ Tracking and managing reservation dates.○ Book Rental:
■ Renting and returning books.
■ Tracking rental dates and return reminders.○ Notifications and reminders:
■ Book return reminders notifications about new books and events○ Administration:
■ System input-output and management.
■ User management (except superadmin).○ User Module:
■ User Add, Update, Delete and view (except superadmin)..○ Accountability:
■ Generating and viewing reports (rent statistics, most read books, etc.).-----------------------------------------------------------------------------------------------------------------------------
Technical Task
The operations that must be performed on the modules are explained below:
------❖ Book Management-APIs
1. addBook: adds new books.
2. updateBook: updates the information of the current book.
3. deleteBook: deletes the book.
4. getBookById: retrieves information about a particular book.
5. getAllBooks: gets all the books.
❖ Book Search and filtering
1. searchBooks: searches books according to search criteria.
2. filterBooks: filters books according to certain criteria.
Inventory Management
1. getBookInventory: tracks and displays the current number of books.❖ User Management-APIs
1. addUser: adds new user.
2. updateUser: updates the data of the current user.
3. deleteUser: deletes the user.
4. getUserById: retrieves information about a particular user.
5. getAllUsers: gets all users.
6. getUserByUsername: retrieves user information based on userName.
7. getUsersByRole: acquires users with a certain role.
8. deactivateUser: deactivates the user account.❖ Registration and authorization-APIs
1. registerUser: performs user registration.
2. login: confirms user login.
3. logout: performs user's exit.❖ Author Management – APIs
The functions of adding, updating, deleting and viewing authors will be provided. The following methods will provide this functionality:
1. addAuthor: adds a new author.
2. updateAuthor: updates the current author's data.
3. deleteAuthor: deletes the author.
4. getAuthorById: obtains information about a particular author.
5. getAllAuthors: acquires all authors.
6. getAuthorByName: retrieves data based on the author's name.
❖ Management Of Books By Authors
1. removeBookFromAuthor: removes the author's book.
2. getBooksByAuthor: acquires books belonging to the author.❖ Ratings and Reviews – APIs
1. addRatingAndReview(): Adds new rating and feedback.
2. getRatingsAndReviewsByBook(): Brings all ratings and reviews for a book.
3. getRatingsAndReviewsByUser(): It brings all ratings and reviews given by a user.
4. updateRatingAndReview(): Updates the current rating and review.
5. deleteRatingAndReview(): Removes the current rating and review.❖ Reservations-APIs
1. addReservation: adds new reservation for book by user.
2. updateReservation: updates an existing reservation (for example, changes dates).
3. cancelReservation: cancels an existing reservation.
4. getUserReservations: gets all the active reservations of the user.
5. getBookReservations: gets all active reservations for the book.
6. getReservationDetails: gets detailed information about certain reservations.
7. checkAvailability: checks whether the book is available on certain dates.❖ Report generation-APIs
1. generateRentalStatistics: generates rental statistics.
2. getMostReadBooks: gets the most read books.
3. generateUserActivityReport: generates user activity report.
4. getBookRentalHistory: gets the rental history of the book.
5. getUserLoginHistory: retrieves the user's login history.❖ APIs for notifications and reminders
1. addReminder
○ Work to do: adds a reminder to the user to return the book.
○ Input parameters: userId, bookId, reminderDate
2. removeReminder
○ Work to do: deletes the reminder.
○ Input parameters: reminderId
3. getRemindersByUser
○ Work to do: gets all reminders for a specific user.
○ Input parameters: userId
4. getUpcomingReminders
○ Work to do: gets reminders of the future (for example, after a certain date).
○ Input parameters: date
5. sendReminderNotification
○ Work to do: sends a reminder to the user via email, SMS, or in-app notification.
○ Input parameters: userId, message
6. addNewBookNotification
○ Work to do: adds notifications to users about new books.
○ Input parameters: userId, bookId, notificationMessage
7. addEventNotification
○ Work to do: adds notification to users about actions.
○ Input parameters: userId, eventId, notificationMessage
8. getNotificationsByUser
○ Work to do: gets all notifications for a specific user.
○ Input parameters: userId
9. removeNotification
○ Work to do: deletes the notification.
○ Input parameters: notificationId❖ Automatic check and refund-APIs
The functions of automatic checking and returning books will be provided. The following methods will provide this functionality:1. checkOverdueBooks
○ Work to do: checks books with a refund date past.
○ Input Settings: currentDate (today's date)
2. sendOverdueNotices
○ Work to do: sends notifications to users for non-refundable books.
○ Access Settings: overdueBooks (list of non-refundable books)
3. updateBookStatus
○ Work to do: updates the status of the book (for example, “returned”).
○ Input parameters: bookId, newStatus
4. logReturnEvent
○ Work to do: records the event that occurred during the return of the book.
○ Input parameters: bookId, userId, returnDate-----------------------------------------------------------------------------------------------------------------------------
Roles and permission
---
1. Admin (SuperAdmin)
○ User management: ability to add, delete, update users and view all user data.
○ Book management: the ability to add, update, delete books and view the list of books.
○ Author Management: the ability to add, update, delete authors and view the list of authors.
○ Reservation management: ability to confirm or cancel book reservations.
○ Rating and Feedback Management: the ability to track, approve and delete ratings and reviews that users give for books.
○ Notifications and reminders: adding, removing and updating notifications and reminders.
○ Reports: viewing rental statistics, most read books and other reports.
○ System settings: change and manage System Settings.
○ Roles and permissions: assignment and management of roles and permissions.2. Library Worker (Admin)
○ Book management: the ability to add, update, delete books and view their list.
○ Reservation management: accepting and managing book reservations.
○ Reminders and notifications: sending reminders to users and tracking notifications.
○ Return of books: to carry out the return and automatic verification of books.
○ Authors management: updating and viewing authors ' information.
○ Viewing reports: viewing rental statistics and other reports.3. USER (User)
○ Book Search: searching and filtering books.
○ Booking:book books.
○ Rating and feedback: giving ratings and writing reviews for books.
○ Reminders: keep track of reminders.
○ Notifications: viewing notifications about new books and events.
○ User data: updating your own user data.-----------------------------------------------------------------------------------------------------------------------------