You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
부울울은 손그림풍 그래픽의 채팅 기반 온라인 마피아 게임입니다. 4-8명의 플레이어가 한 방에 모여 부엉이팀과 올빼미팀으로 나뉘고, 밤 행동과 낮 토론, 투표를 반복하며 숨어 있는 올빼미를 찾아냅니다.
한눈에 보기
항목
내용
장르
채팅 기반 온라인 마피아 게임
운영 상태
실 운영 서비스
플레이 인원
4-8명
주요 플랫폼
모바일 웹, Android 앱
인증
Google OAuth2
핵심 통신
REST API + WebSocket STOMP
배포
Docker, GitHub Actions, GHCR, Nginx
주요 기능
Google OAuth 로그인과 첫 닉네임 설정
로비의 방 목록 조회, 방 생성, 비밀번호 방 입장
대기방 실시간 채팅, 준비 상태, 방장 권한, 강제퇴장
서버 타이머에 맞춘 직업 배정, 밤, 새벽 결과, 낮 토론, 투표, 최후의 반론, 찬반투표, 결과 진행
직업별 밤 행동과 능력 결과 처리
낮 전체 채팅, 올빼미 밤 채팅, 사망자 채팅을 구분하는 채팅 가시성 제어
새로고침이나 재접속 후에도 이어지는 게임 상태 복구
게임 결과 저장과 사용자 전적 갱신
게임 흐름
flowchart LR
A[Google OAuth 로그인] --> B[닉네임 설정]
B --> C[로비]
C --> D[방 생성 또는 입장]
D --> E[대기방 준비]
E --> F[게임 시작]
F --> G[밤 행동]
G --> H[낮 토론]
H --> I[투표]
I --> J[최후의 반론]
J --> K[처형 찬반투표]
K --> L{승리 조건}
L -->|미충족| G
L -->|충족| M[게임 결과]
M --> N[방 복구]
Loading
기술 구성
Frontend
영역
기술
UI
React 19, TypeScript, Vite
라우팅
React Router
실시간 통신
STOMP WebSocket
모바일 앱
Capacitor Android
로컬 저장
Secure Storage, token storage
품질 관리
ESLint, Prettier, TypeScript, Vitest
프론트엔드는 모바일 화면을 우선으로 두고 로그인, 닉네임 설정, 로비, 대기방, 인게임, 결과 화면을 제공합니다. /dev/ui 검증 허브에서는 주요 UI 상태와 게임 시나리오를 mock 데이터로 확인할 수 있습니다.
Backend
영역
기술
런타임
Java 21, Spring Boot
인증/보안
Spring Security, OAuth2 Client, JWT
실시간 통신
WebSocket STOMP
영속 저장
MariaDB, Spring Data JPA
런타임 상태
Redis
API 문서
Springdoc OpenAPI, Swagger UI
운영
Docker Compose, Nginx, Certbot, GitHub Actions
백엔드는 로그인과 사용자 정보, 대기방 상태, 게임 페이즈, 직업 배정, 밤 행동, 투표, 승패 판정, 채팅 권한을 처리합니다. 방 상태는 Redis에 두고, 게임 기록과 결과는 MariaDB에 남깁니다.