Situation
상황
웹 단어 게임을 만들면서 브라우저 화면만 구현하는 데서 끝나지 않고 사용자 식별, 통계 저장, 개발과 테스트 환경 재현 문제를 함께 정리해야 했습니다.
Task
과제
프론트엔드와 API, 데이터베이스를 분리하고 인증과 요청 제한을 적용해 반복 가능한 실행 구조를 만드는 것이 과제였습니다.
Action
실행
- React 프론트엔드와 Kotlin Spring Boot 백엔드를 분리하고 PostgreSQL에 사용자 통계를 저장하도록 구성했습니다.
- HMAC SHA256 기반 JWT 발급과 검증 흐름을 구현했습니다.
- Rate Limiting filter와 CORS 설정을 백엔드 보안 구성에 포함했습니다.
- Docker Compose와 profile 설정으로 개발, 테스트, 운영 환경의 구성을 분리했습니다.
Result
결과
실행 경계와 보안 흐름 정리
게임 화면, API, 데이터베이스의 역할을 나누고 JWT 인증과 요청 제한이 포함된 실행 구조를 문서화했습니다.