사운드 리소스 버전 관리의 어려움을 해결하기 위해 Sonic 웹앱을 개발함
Next.js, tRPC를 활용하여 풀스택 웹앱을 구축하고, S3, Git을 연동함
단순한 설계 원칙을 통해 8개월간 안정적인 운영 및 개발 생산성 향상 달성
Sonic은 사운드팀의 Push와 클라이언트팀의 Checkout 기능만 제공하여 UI 복잡성을 최소화했다. 따라서 불필요한 기능 제거를 통해 사용자 경험을 개선하고, 개발 및 유지보수의 편의성을 높였다. 결과적으로 단순함을 통해 안정성을 확보했다.
S3 Versioning Bucket에 사운드 파일을 저장하고, 을 활용하여 메타데이터를 관리한다. 구체적으로 를 사용하여 를 수행하고, 를 통해 를 구현했다. 따라서 을 유지하면서 가 가능해졌다.
Sonic은 Merge Conflict를 방지하기 위해, 단방향 데이터 흐름을 설계했다. 따라서 Push 요청 시, 자동 Rebase를 수행하여 충돌을 해결한다. 수정/삭제 기능 대신 우회 방법을 사용하여 시스템 안정성을 확보했다. 결과적으로 개발 생산성을 향상시켰다.