kt-event-marketing/.run/ParticipationServiceApplication.run.xml
doyeon e0c1066316 Participation Service 백엔드 개발 완료
주요 구현 사항:
- 이벤트 참여 등록 및 중복 검증 (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>
2025-10-24 09:29:03 +09:00

72 lines
3.0 KiB
XML

<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ParticipationServiceApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
<option name="ACTIVE_PROFILES" />
<option name="FRAME_DEACTIVATION_UPDATE_POLICY" value="UpdateClassesAndResources" />
<module name="kt-event-marketing.participation-service.main" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.kt.event.participation.ParticipationServiceApplication" />
<option name="VM_PARAMETERS" value="" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.kt.event.participation.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SHORTEN_COMMAND_LINE" value="NONE" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/participation-service" />
<envs>
<!-- Database Configuration -->
<env name="DB_HOST" value="localhost" />
<env name="DB_PORT" value="3306" />
<env name="DB_NAME" value="participation_db" />
<env name="DB_USER" value="root" />
<env name="DB_PASSWORD" value="password" />
<env name="DB_POOL_SIZE" value="10" />
<env name="DB_MIN_IDLE" value="5" />
<env name="DB_CONN_TIMEOUT" value="30000" />
<env name="DB_IDLE_TIMEOUT" value="600000" />
<env name="DB_MAX_LIFETIME" value="1800000" />
<!-- JPA Configuration -->
<env name="JPA_DDL_AUTO" value="update" />
<env name="JPA_SHOW_SQL" value="true" />
<!-- Redis Configuration -->
<env name="REDIS_HOST" value="localhost" />
<env name="REDIS_PORT" value="6379" />
<env name="REDIS_PASSWORD" value="" />
<env name="REDIS_TIMEOUT" value="3000" />
<env name="REDIS_POOL_MAX_ACTIVE" value="8" />
<env name="REDIS_POOL_MAX_IDLE" value="8" />
<env name="REDIS_POOL_MIN_IDLE" value="2" />
<env name="REDIS_POOL_MAX_WAIT" value="3000" />
<!-- Kafka Configuration -->
<env name="KAFKA_BOOTSTRAP_SERVERS" value="localhost:9092" />
<env name="KAFKA_PRODUCER_ACKS" value="all" />
<env name="KAFKA_PRODUCER_RETRIES" value="3" />
<!-- Server Configuration -->
<env name="SERVER_PORT" value="8084" />
<!-- Logging Configuration -->
<env name="LOG_LEVEL_ROOT" value="INFO" />
<env name="LOG_LEVEL_APP" value="DEBUG" />
<env name="LOG_LEVEL_REDIS" value="INFO" />
<env name="LOG_LEVEL_KAFKA" value="INFO" />
<env name="LOG_FILE_PATH" value="./logs" />
<env name="LOG_FILE_MAX_SIZE" value="10MB" />
<env name="LOG_FILE_MAX_HISTORY" value="30" />
<!-- App-specific Configuration -->
<env name="CACHE_DUPLICATE_TTL" value="604800" />
<env name="CACHE_PARTICIPANT_TTL" value="600" />
<env name="LOTTERY_VISIT_BONUS" value="2.0" />
</envs>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>