사용자가 직접 퀴즈를 만들고 참여코드를 통해 선착순으로 퀴즈에 참여할 수 있는 서비스입니다.
- Java 21
- SpringBoot, JPA
- MySQL, MongoDB
- Redis for Redisson(Distributed Lock)
- Spring Security + Google OAuth2 + JWT
- Github Action, AWS, Docker, Nginx
- 🗂️ api-module
- 🗂️ domain-quiz-module
- 🗂️ global-util-module
- Spring Boot 기반 RestAPI 구현
- 다양한 퀴즈 유형(객관식, 주관식, 단답형...) 저장에 대비하기 위해 유연한 스키마를 가진 MongoDB 도입
- 분산락(Redisson)을 활용하여 퀴즈 선착순 참여시 발생할 수 있는 동시성 이슈 해결
- Google OAuth2 적용
- Redis Sorted Set + WebSocket를 활용한 대기열 구현으로 선착순 순서 보장 및 대기열 실시간 조회 구현
- Refresh Token Rotation기법으로 Refresh Token 로 토큰 탈취 대응
- Github Actions기반 CI/CD 배포 구현
- Github OIDC Privider를 활용한 안전한 AWS 배포 관리