Serverless로 Gather Town과 ZEP을 비슷하게 구현하고 있는 toy 프로젝트를 소개합니다!
안녕하세요!
제가 개인적으로 진행하고 있는 프로젝트를 소개드릴려고 합니다. Gather Town이나 ZEP와 같은 실시간 상호작용 가상 공간을 Serverless 방식으로 개발하는 프로젝트입니다.
https://smallvillage.netlify.app
사용 기술 스택
프로젝트를 진행하며 선택한 주요 기술 스택은 다음과 같습니다.
Frontend
React.js: 사용자 인터페이스 개발.
Phaser.js: 2D TopDown 뷰를 구현하여 직관적이고 몰입감 있는 환경 제공.
Backend
Supabase: 인증, 실시간 데이터베이스, 사용자 관리 등 Backend 전반을 담당. 무료 티어 사용.
실시간 통신:
Cloudflare Calls(WebRTC SFU): 안정적인 음성 및 데이터 통신. 무료 티어 사용.
ExpressTURN: WebRTC를 지원하는 TURN 서버. 무료 티어 사용.
배포
Netlify: CI/CD를 통해 빠르고 간편한 배포와 호스팅. 무료 티어 사용.
serverless 로 진행하고 있는거라서 무료 티어를 제공하는 서비스들을 사용하고 있습니다. serverless지만 필요하다면 self host로도 가능할 수 있게 고려하고 있습니다.
현재 구현된 기능
프로젝트는 아직 초기 단계이지만, 다음과 같은 기능들이 구현되어 있습니다.
실시간 음성 채팅
텍스트 채팅
2D 가상 공간에서의 캐릭터 이동 및 상호작용
이 프로젝트는 오픈소스로 공개되어 있습니다. 새로운 아이디어나 피드백은 항상 큰 도움이 됩니다. 관심이 있으시다면 GitHub 리포지토리를 방문해 주세요!