-
You can clone the project using
git clone https://github.com/supunUOM/BookStore.git
. -
The book store application run on port 8080 and can view and test all the endpoint via Swagger UI. http://localhost:8080/swagger-ui/index.html
- One book associated with one author
- One author has one contact number
- User can search book using ISBN number.
- User can like for a book.
- Added bean validation for Entity classes.
- After deleting the author all associated books will be deleted.
- Scheduler is logging the result in every 5 minutes for notify the information of like
count for each author. ( Implemented
services > ScheduleService
)
- Exceptions are handled by Globally using
@RestControllerAdvice
and@ExceptionHandler
annotations. - Reduce the
NullPointerException
usingOptional
. - For performance improvement I used the
Stream API
. - Have added
Indexes
for search fields to improve the database performance.
- I didn't apply the
spring profiles
. - If I have production environment, I can add those configuration to
application-prod.yaml
and activate that profile.