대학교 수강신청 시스템 백엔드 과제 구현입니다.
- Java 21
- Spring Boot 3.3.5
- Spring Data JPA
- H2 In-Memory Database
- SpringDoc OpenAPI (Swagger UI)
- JDK 21
- (권장)
curl,jq
./gradlew clean build./gradlew test./gradlew bootRun기본 접속 정보:
- Base URL:
http://localhost:8080 - Health Check:
GET /health - Swagger UI:
http://localhost:8080/swagger-ui/index.html - OpenAPI JSON:
http://localhost:8080/v3/api-docs - H2 Console:
http://localhost:8080/h2-console
- 상세 명세:
docs/API_SPEC.md - open-api.yaml:
docs/내 API 문서.yaml - 요구사항/설계 결정:
docs/REQUIREMENTS.md
실행 전에 서버(./gradlew bootRun)가 떠 있어야 합니다.
chmod +x scripts/test-api.sh
./scripts/test-api.sh환경변수로 동작을 조정할 수 있습니다:
BASE_URL(기본:http://localhost:8080)ENROLL_STRATEGY(기본:atomic, 지원:default|pessimistic|optimistic|atomic)PARALLEL_REQUESTS(기본:20)
예시:
ENROLL_STRATEGY=pessimistic PARALLEL_REQUESTS=50 ./scripts/test-api.sh