@@ -25,18 +25,28 @@ configurations {
2525}
2626
2727dependencies {
28+ // jdbc stands for Java Database Connectivity and is used to connect and execute queries with the database
2829 implementation ' org.springframework.boot:spring-boot-starter-jdbc'
30+ // As the database we use PostgreSQL, so we need the PostgreSQL driver to connect to the database
31+ runtimeOnly ' org.postgresql:postgresql'
32+ // Spring security is used to handle user authentication and authorization
2933 implementation ' org.springframework.boot:spring-boot-starter-security'
34+ // Spring Data Redis is used to interact with Redis, which we use as a key value database to store user sessions
35+ implementation(" org.springframework.session:spring-session-data-redis" )
36+ // Validation starter is used to validate user input
3037 implementation ' org.springframework.boot:spring-boot-starter-validation'
38+ // Web starter is used to build our web APIs (HTTP endpoints)
3139 implementation ' org.springframework.boot:spring-boot-starter-web'
40+ // Flyway is used to manage database migrations and to fill the database with initial data
3241 implementation ' org.flywaydb:flyway-core:11.13.0'
42+ // We need the PostgreSQL specific Flyway dependency to run the migrations on a PostgreSQL database
3343 implementation ' org.flywaydb:flyway-database-postgresql:11.13.0'
44+ // OpenAPI starter is used to generate and display API documentation
3445 implementation ' org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13'
35-
36- runtimeOnly ' org.postgresql:postgresql'
37-
46+ // Devtools provides fast application restarts, LiveReload, and configurations for enhanced development experience
3847 developmentOnly ' org.springframework.boot:spring-boot-devtools'
3948
49+ // Testing dependencies
4050 testImplementation ' org.springframework.boot:spring-boot-starter-test'
4151 testRuntimeOnly ' org.junit.platform:junit-platform-launcher'
4252 mockitoAgent(' org.mockito:mockito-core' ) {
0 commit comments