실시간 의사결정 플랫폼
실시간 협업으로 빠르게 추정하고 합의까지 끝내는 저마찰 플래닝 포커 플랫폼, for 'agile-teams'
Inertia.js
Vite
Tailwind CSS
MySQL
PHP 8.3 (Laravel 13)
React 18
Laravel Echo
WebSocket
Headless UI
Blade
Realtime Planning Poker Platform
가볍게 시작하고, 빠르게 합의하는 팀을 위한
실시간 플래닝 포커 협업 도구.
Overview
이 플랫폼은 'Agile Sprint Estimation'을 위한 'Realtime Planning Poker' 기법의 웹 애플리케이션이다... 별도의 계정 생성 없이, 방 생성 → 참여 → 투표 → 공개 → 결과 기록까지 한 번에 진행할 수 있다.
- 인증 없이 사용 가능한 웹 기반 협업 도구
- 팀 단위 실시간 의사결정 지원
- 저마찰(low-friction) 구조
Core Features
Room 기반 세션
- 고유 코드 기반 방 생성
- 링크 공유만으로 즉시 참여
- 세션 기반 사용자 식별 (계정 불필요)
Story 중심 추정 흐름
- 스토리 생성 / 수정 / 정렬
- 상태 기반 라이프사이클 (대기 → 투표 → 공개)
- 반복 가능한 추정 라운드
실시간 투표 시스템
- 개인 투표는 공개 전까지 비공개
- Reveal 시 전체 결과 동기화
- 평균 / 중앙값 자동 계산
결과 기록 및 Export
- 각 스토리별 결과 스냅샷 저장
- 참여자별 투표 기록 유지
- CSV Export 지원
Realtime 동기화
- WebSocket 기반 상태 동기화
- 투표 / 상태 변경 즉시 반영
- Presence 기반 참여자 관리
Architecture
Monolithic + Realtime Event-driven 구조
- Backend: Laravel 13 (MVC)
- Frontend: React 18 + Inertia
- Realtime: Laravel Broadcasting + Pusher-compatible
- Styling: Tailwind CSS
핵심 특징:
- 서버 중심 라우팅 + SPA UX (Inertia)
- 이벤트 기반 상태 동기화
- 단일 애플리케이션 구조
Domain Model
주요 엔티티:
- Room – 협업 단위
- Participant – 세션 기반 사용자
- Story – 추정 대상
- Vote – 개별 투표
- StoryResult – 결과 스냅샷
- StoryResultVote – 공개된 투표 기록
관계:
- Room → Stories / Participants / Results
- Story → Votes
- Result → Immutable snapshot
Realtime Flow
- 사용자가 방에 접속
- 스토리 생성 및 투표 시작
- 각 참여자가 개별 투표 제출
- Reveal 이벤트 발생
- 모든 클라이언트 동기화 및 결과 계산
Why This Platform
기존 도구 대비 차별점:
- 계정 생성 없이 즉시 사용 가능
- 복잡한 설정 없이 링크 공유로 시작
- 완전한 실시간 동기화
- 결과 기록 및 Export 제공
- 접근성/글꼴크기/Font/테마 고려한 UI
Tech Stack
Backend
- Laravel 13
- Eloquent ORM
- SQLite (default) / MariaDB / MySQL 지원
Frontend
- React 18
- Inertia.js
- Vite
Realtime
- Laravel Echo
- Pusher-compatible WebSocket
wscat -c "wss://reverb-ws.glitter.tw/app/56bce3d497e5bef811aebb78eebaa6d6"
Styling
- Tailwind CSS
- Headless UI
Design Philosophy
- Low friction > Full auth
- Realtime collaboration > Complex workflow
- Single responsibility domain
- 빠른 시작, 명확한 흐름, 최소 상태
Use Cases
- 스프린트 플래닝
- 스토리 포인트 추정
- 팀 합의 기반 의사결정
- 소규모 협업 세션
Limitations
- 계정 기반 인증 없음 (세션 기반)
- SQLite 기본 사용 → 대규모 환경 부적합
- CI/CD 및 배포 자동화 미구성
- 테스트 커버리지 제한적
Project Notes
- Docker / Container 환경 미사용
- 단일 애플리케이션(Monolith) 구조
- 배포는 '자가 물리 호스트' VM / Nginx (리버스 프록시)
Summary
이 프로젝트는
빠르게 모이고, 빠르게 합의하고, 기록까지 남기는 것을 목표로 설계된 경량 협업 도구다.
복잡한 인증과 설정을 제거하고,
팀 단위 '실시간 의사결정', 자체에 집중했다.
이 개발자의 다른 프로젝트
그누보드7 예약 모듈 - glitter-reservation
코어 수정 없이 붙여 사용하는 그누보드7 예약 모듈로, 신청·인증·조회·취소·관리까지 예약 흐름 전체를 모듈 단위로 제공합니다.
그누보드7 상담예약 템플릿 - Glitter Academy Core
GnuBoard7 Template 엔진 기반으로 상담예약 사이트 구성을 위한 초기 템플릿 예제로 설계되었습니다.
그누보드7 커뮤니티 템플릿 - SIRsoft Community
쇼핑몰(이커머스 의존)을 제거하고 커뮤니티 기능에 집중한 경량 사용자 템플릿, ID : sirsoft-comm
수정 이력 (1)
Changelog
2026-04-17 (금) 04:20:29
- 실시간 투표 동기화 안정성 - 결과 집계 로직 최적화