Github Demo

Full Stack Spring Boot Online Book Library

eLibrary

This ebooks web application is designed to display information about all different kinds of ebooks in a dynamic, responsive, and intuitive interface. It implements technologies such as the spring boot web framework, spring security, spring mail, thymeleaf templates, lombok, postgres database, and is hosted on railway.

What tools it uses

Spring Boot Java Thymeleaf PostgreSQL Spring Mail Spring Security Lombok

How I built it

To build the ebooks web application, I incorporated a range of technologies and design patterns. I began by using the Spring Boot Framework to create a responsive and dynamic web interface. I also integrated Thymeleaf templates to enhance the user experience. To store user data, I utilized a PostgreSQL database and implemented Spring Mail to enable users to recover their passwords. Additionally, I incorporated the Lombok dependency and utilized the MVC design pattern, Dependency Injection, and Autowired Singletons to simplify code and increase efficiency. To ensure user data was protected, I implemented Spring Security, which involved authorizing page access, securing the database, and creating user accounts. I used Ant Matchers to check whether a user had enough privileges to access specific web pages, and all passwords were encrypted using a hash algorithm from BCrypt. Finally, to ensure that the application was hosted safely, I utilized HTTPS SSL certificates and blocked SQL injection attacks by restricting access in searchbar queries. The project was hosted on railway.app, and both the Spring Boot app and PostgreSQL database were deployed and integrated through the same platform, allowing for easy and efficient updates.