New Project
Let's create a new Spring Boot project that will serve as the foundation for our event ticket platform. We'll use the Spring Initializer to set up our project with all the necessary dependencies and configurations we'll need.
Set Up the Project
The Spring Initializer (start.spring.io) helps us create a new Spring Boot project with our chosen configuration.
Let's select these project settings:
- Build Tool: Apache Maven
- Language: Java
- Spring Boot Version: 3.4.4 (Latest stable release)
- Java Version: 21 (Latest LTS)
- Packaging: JAR
For our project metadata:
- Group:
com.devtiro - Artifact:
tickets - Description: An Event Ticket Platform
- Package Name:
com.devtiro.tickets
Add Dependencies
Our application needs several key dependencies to function:
Web Dependencies
For building our REST API endpoints we'll use Spring Web. We selected this over WebFlux for a simpler development experience, and it provides good performance for our needs.
Security Dependencies
We'll need Spring Security for securing our application and OAuth2 Resource Server for integration with Keycloak.
Database Dependencies
We choose Spring Data JPA for database interactions using Java objects. We'll want the PostgreSQL Driver for our production database and H2 Database for running isolated tests.
Development Tools:
Let's also select Lombok as it reduces boilerplate code through annotations.
Summary
- Created a new Spring Boot project using Spring Initializer
- Set up core dependencies for web, security, and data persistence
- Added development tools like Lombok to improve productivity