feature/team-basics #3

Merged
aarbit merged 10 commits from feature/team-basics into main 2026-05-13 03:35:15 +00:00
5 changed files with 20 additions and 25 deletions
Showing only changes of commit ab34f16a45 - Show all commits

View File

@@ -10,16 +10,9 @@ REST API to support a community scavenger hunt app.
## TODO:
### User Endpoints
* list teams for hunt GET `/hunt/{id}/team`
* create new hunt team POST `/hunt/{id}/team`
* join hunt team POST `/hunt/{id}/team/{id}`
* list items for hunt GET `/hunt/{id}/item`
* get hunt item info GET `/hunt/{id}/item/{id}`
* get hunt team item info GET `/hunt/{id}/team/{id}/item/{id}`
* get photos for hunt item GET `/hunt/{id}/team/{id}/item/{id}/photo`
* upload photo for hunt item POST `/hunt/{id}/team/{id}/item/{id}/photo`
* delete photo for hunt item DELETE `/hunt/{id}/team/{id}/item/{id}/photo`
* list hunt teams with scores for hunt `GET /lead/hunt/{id}/team`
* list hunters with scores for hunt GET `/lead/hunt/{id}/hunter`
* upload photo for hunt item POST `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo` - body: image binary
* delete photo for hunt item DELETE `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}`
* list hunt teams with scores for hunt `GET /lead/hunt/{huntId}/team`
* list hunters with scores for hunt GET `/lead/hunt/{huntId}/hunter`
### Admin Endpoints
* approve photo for hunt item POST `/admin/hunt/{id}/team/{id}`
* approve photo for hunt item POST `/admin/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}` - body: approval status

View File

@@ -1,9 +1,9 @@
plugins {
kotlin("jvm") version "2.2.21"
kotlin("plugin.spring") version "2.2.21"
id("org.springframework.boot") version "4.0.0"
kotlin("jvm") version "2.3.21"
kotlin("plugin.spring") version "2.3.21"
id("org.springframework.boot") version "4.0.6"
id("io.spring.dependency-management") version "1.1.7"
kotlin("plugin.jpa") version "2.2.21"
kotlin("plugin.jpa") version "2.3.21"
}
group = "net.halfbinary"
@@ -27,23 +27,25 @@ repositories {
}
dependencies {
val mysqlConnectorJ = "9.5.0"
val mariaDriver = "3.5.8"
val commonsValidator = "1.10.1"
val jakartaValidation = "3.1.1"
val jsonWebToken = "0.13.0"
val springdocUi = "3.0.3"
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("jakarta.validation:jakarta.validation-api:${jakartaValidation}")
implementation("com.mysql:mysql-connector-j:${mysqlConnectorJ}")
implementation("jakarta.validation:jakarta.validation-api:$jakartaValidation")
implementation("org.mariadb.jdbc:mariadb-java-client:${mariaDriver}")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("commons-validator:commons-validator:${commonsValidator}")
implementation("io.jsonwebtoken:jjwt-api:${jsonWebToken}")
implementation("io.jsonwebtoken:jjwt-impl:${jsonWebToken}")
implementation("io.jsonwebtoken:jjwt-jackson:${jsonWebToken}")
implementation("commons-validator:commons-validator:$commonsValidator")
implementation("io.jsonwebtoken:jjwt-api:$jsonWebToken")
implementation("io.jsonwebtoken:jjwt-impl:$jsonWebToken")
implementation("io.jsonwebtoken:jjwt-jackson:$jsonWebToken")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springdocUi")
developmentOnly("org.springframework.boot:spring-boot-devtools")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testImplementation("org.springframework.boot:spring-boot-starter-actuator-test")

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

2
gradlew vendored
View File

@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.