주요 구현 사항:
- 이벤트 참여 등록 및 중복 검증 (Redis Cache + DB)
- 참여자 목록 조회 (필터링, 검색, 페이징)
- 당첨자 추첨 (Fisher-Yates Shuffle 알고리즘)
- Kafka 이벤트 발행 (ParticipantRegistered)
- Redis 캐싱으로 성능 최적화
- 전화번호 마스킹 (개인정보 보호)
- 전역 예외 처리 및 검증
기술 스택:
- Spring Boot 3.x + JPA
- MySQL (참여자, 추첨 로그)
- Redis (캐싱, 중복 검증)
- Kafka (이벤트 발행)
API 엔드포인트:
- POST /events/{eventId}/participate
- GET /events/{eventId}/participants
- GET /events/{eventId}/participants/search
- POST /events/{eventId}/draw-winners
- GET /events/{eventId}/winners
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
26 lines
776 B
JSON
26 lines
776 B
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(curl:*)",
|
|
"Bash(if [ ! -d \"claude\" ])",
|
|
"Bash(then mkdir claude)",
|
|
"Bash(fi)",
|
|
"Bash(mkdir:*)",
|
|
"Bash(rm:*)",
|
|
"Read(//Users/chaerikim/Desktop/회사/Digital Garage/historyhub/reference/**)",
|
|
"Read(//Users/chaerikim/Desktop/회사/Digital Garage/historyhub/define/**)",
|
|
"Bash(copy:*)",
|
|
"Read(//Users/chaerikim/Desktop/회사/Digital Garage/b2c-mvp/references/**)",
|
|
"Read(//Users/chaerikim/Desktop/회사/Digital Garage/b2c-mvp/define/**)",
|
|
"Bash(git add:*)",
|
|
"Bash(git commit:*)",
|
|
"Bash(git push)",
|
|
"Bash(git pull:*)",
|
|
"Bash(dir:*)",
|
|
"Bash(./gradlew participation-service:compileJava:*)"
|
|
],
|
|
"deny": [],
|
|
"ask": []
|
|
}
|
|
}
|