Bookstore is a sample web application built using Spring Boot. It provides functionality for placing orders, and managing the store through an admin panel. The project includes user authentication and a simple shopping cart system.
✅ Product listing
✅ Shopping cart functionality
✅ Order placement
✅ User registration and login (with Spring Security)
✅ Admin panel to manage products and orders
✅ Role-based access control (user/admin)
- Java 17+
- Spring Boot 3.2.5
- Spring MVC
- Spring Security 6
- Spring Data JPA (with Hibernate)
- PostgreSQL
- Thymeleaf
- Maven
- Lombok
- Java Development Kit (JDK) 17 or higher
- Maven (version 3.6+ recommended)
- PostgreSQL (or H2 for local testing)
- Spring Boot Starters:
spring-boot-starter-webspring-boot-starter-data-jpaspring-boot-starter-securityspring-boot-starter-thymeleafspring-boot-starter-test(test scope)
- Thymeleaf Extras for Spring Security 6
- Hibernate Validator (8.0.1.Final)
- PostgreSQL JDBC Driver (42.7.3)
- Lombok (1.18.32)
- Java 17+
- Maven
- PostgreSQL
- Clone the repository:
git clone https://github.com/vbnk22/BookstoreApp- Configure your PostgreSQL database credentials in application.properties:
spring.application.name=bookstore
spring.datasource.url=jdbc:postgresql://dumbo.db.elephantsql.com/yzfrvbls
spring.datasource.username=yzfrvbls
spring.datasource.password=HUwn4VJEq_IkBtXi4--mFF6nPrtPMx02
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.hikari.maximum-pool-size=4
spring.datasource.hikari.minimum-idle=1
spring.jpa.hibernate.ddl-auto=updateNote: This configuration uses a free instance from ElephantSQL,
which has been discontinued. To run the app now, you should configure your own PostgreSQL database—locally or using a cloud provider.
- Build and run the application:
mvn spring-boot:run- Access the app: