프로젝트 소개

surreal_ck는 웹 전용 협업 스프레드시트 프로젝트입니다. 아키텍처는 Bun과 Hono로 구축된 백엔드 서버, Svelte 기반 웹 프론트엔드, 그리고 양측에서 사용하는 DTO와 스키마를 포함한 공유 패키지를 결합합니다. 데이터는 서버가 WebSocket(WSS)을 통해 접근하는 SurrealDB에 저장됩니다. 저장소는 `server/`(백엔드), `web/`(프론트엔드), `shared/`(공통 DTO/스키마 패키지)의 세 디렉토리로 구성된 모노레포로 구성되어 있습니다. 프로젝트가 웹 전용 모델로 마이그레이션을 진행하는 동안, 기존 데스크톱 코드는 `server/legacy/`와 `web/legacy/` 아래에 유지됩니다. 로컬 개발을 위해 프로젝트는 pnpm 워크스페이스를 사용합니다: `pnpm install`로 의존성을 설치하고, `.env.example`을 `.env`로 복사한 후, `pnpm -r run typecheck`로 모든 패키지에 걸쳐 타입 검사를 실행하고, `pnpm --filter @surreal-ck/server dev`로 개발 모드에서 서버를 시작합니다. 서버는 `http://localhost:8080/health`에 헬스 엔드포인트를 노출하며, curl로 확인할 수 있습니다. Docker 배포도 지원됩니다: `docker compose up --build`를 실행하면 스택이 시작되며, 이후 동일한 헬스 엔드포인트를 사용하여 서버가 실행 중이고 응답하는지 확인할 수 있습니다.