RetroBoard

실시간 팀 회고 보드

2025.03 - 2025.05

여러 사용자가 동시에 회고를 작성하고 정리할 수 있는 회고 보드를 구현해본 개인 프로젝트입니다. 실시간으로 변화하는 데이터 환경과 AI 기반 기능을 직접 구현하며, 그 과정에서 발생하는 프론트엔드 문제를 해결하는 경험을 목표로 진행하였습니다.

Parabol의 Retrospective Tool 디자인과 기능을 참고하여 개발하였습니다.

💻 기술 스택

React
Typescript
Tanstack Query
Redux
TailwindCSS
shadcn/ui
Liveblocks
Firebase
Express
Vite
Vercel

🧩 구현 기능

1. 대시보드

  • 별도의 로그인 없는 Local Storage 기반의 사용자 식별 및 랜덤 닉네임 생성 기능 개발

  • 회의룸 생성, 삭제, 검색 기능 개발

2. 회의 (토픽 카드 작성 → 투표 → 토론)

  • 웹 소켓 기반의 Liveblocks을 사용한 클라이언트 간 실시간 데이터 동기화 구현

  • 방 생성자(방장)에 대한 회의 단계 변경 및 회의 종료 기능 개발

  • 일반 방 참여자에 대한 현재 회의 단계 외의 페이지 접근 제한 가드 기능 개발

  • 토픽 카드 작성(Reflect) - 카테고리(start/stop/continue) 별 토픽 카드 추가/삭제, 드래그-드롭을 통한 순서 변경 및 카테고리 이동 기능 개발

  • 투표 (Vote) - 토픽 별 투표 기능 개발

  • 토론(Discuss) - 토픽 별 토론 페이지를 구성하고, 토픽에 대한 이모지 반응, 채팅 및 관련 업무(Task) 등록 기능 구현

3. 회의 요약 (Summary)

  • 사용자 별 업무, 토픽 내용 요약 및 PDF 저장 기능 구현

  • 중요 결정 사항, 다수가 공감한 내용, 대화 중 갈등 등 회의의 맥락을 포함한 AI 요약 기능 개발

📌 이슈

단계 변경(Discuss → Reflect/Vote) 시 런타임 에러가 발생하는 문제

AI 기반 회고 요약 기능 구현

🌱 배운점

사용자의 사용 흐름을 방해하지 않는 것이 중요한 환경에서는, 화면이 중단되지 않도록 에러의 영향을 최소한의 범위로 제한하는 것의 중요성을 느꼈습니다.