실시간 경쟁 코딩 플랫폼을 구축했습니다 — Dev-Battle
발행: (2026년 5월 3일 PM 04:12 GMT+9)
3 분 소요
원문: Dev.to
Source: Dev.to
소개

혼자 코딩 연습을 하면 금방 지루해집니다. 실전 같은 긴장감이 필요했어요 — 두 개발자가 같은 문제를 같은 시계 아래서 실시간으로 경쟁하는 플랫폼이죠.
그것이 Dev-Battle 입니다.
매치 진행 방식
- 로비를 만들거나 참여하기
- 문제를 두 플레이어에게 동시에 전송
- 코드를 작성하고 제출하기
- 샌드박스 실행기가 출력 결과를 판정
- AI 피드백이 경기장에 표시
- XP와 리더보드 순위가 실시간으로 업데이트
기능
- 실시간 방 — WebSocket을 통한 동기화된 매치 상태, 저지연 업데이트
- 샌드박스 실행 — 안전하고 재현 가능한 판정을 위한 격리된 러너
- AI 피드백 — 정답을 알려주지는 않지만 힌트와 메모 제공
- 진행 시스템 — XP, 업적, 전역 리더보드
- 모노레포 아키텍처 — 공유 타입과 코드젠으로 클라이언트와 서버를 동기화
스택
| 계층 | 기술 |
|---|---|
| 프론트엔드 | React + Vite + TypeScript |
| 백엔드 | Node.js + WebSockets + REST |
| 실행 | Sandboxed container runner |
| 데이터베이스 | SQL + Drizzle ORM |
| AI 레이어 | Optional AI microservice |
| 툴링 | pnpm monorepo + OpenAPI codegen |
앞으로의 계획
관전 모드, 토너먼트 브래킷, 팀 모드, 그리고 보다 다듬어진 모바일 UI가 로드맵에 있습니다. 기여와 피드백을 언제든 환영합니다!
아키텍처에 대해 궁금한 점이 있거나 비슷한 것을 만든 적이 있나요? 댓글로 알려 주세요!