프로젝트 소개

Convex는 웹 애플리케이션 개발자를 대상으로 하는 오픈소스 리액티브 데이터베이스이다. 데이터베이스, 서버 함수 작성 공간, 클라이언트 라이브러리를 결합하여 개발자가 순수 TypeScript를 작성함으로써 강력한 일관성을 갖춘 데이터 조회와 비즈니스 로직 구현을 가능하게 한다. 이 프로젝트는 동적이고 실시간으로 업데이트되는 애플리케이션을 더 쉽게 구축하고 확장할 수 있도록 설계되었다. 백엔드는 Convex 팀이 개발하며, 공개 저장소는 내부 작업과 며칠 내에 동기화된다. README에는 무작위 테스트 프레임워크를 포함하여 내부적으로 잘 테스트되었지만, 해당 테스트는 오픈소스 제공 항목에 포함되지 않는다고 명시되어 있다. 소규모 버그 수정은 환영하며, 피드백은 Discord를 통해 권장된다. 시작하는 가장 쉬운 방법은 호스팅 클라우드 플랫폼을 이용하는 것으로, 소규모 애플리케이션과 사이드 프로젝트에 적합한 무료 티어를 제공한다. 직접 실행하려는 경우, 자체 호스팅 제품에는 대시보드와 CLI를 포함한 대부분의 클라우드 기능이 포함되며 Neon, Fly.io, Vercel, Netlify, RDS, SQLite, Postgres와 같은 도구와 함께 작동한다. 자체 호스팅은 Docker(권장) 또는 사전 빌드된 바이너리로 수행할 수 있으며, 자세한 지침은 자체 호스팅 가이드에 있고 커뮤니티 지원은 #self-hosted Discord 채널에서 받을 수 있다. 저장소 구조에는 crates/ 아래의 Rust 코드가 포함되며, 메인 바이너리와 Runtime 위에 구축된 local_backend 애플리케이션 서버가 있다. 또한 npm-packages/에는 udf-runtime(사용자 정의 함수 JS 환경용)과 system-udfs(CLI에서 사용하는 시스템 함수용)와 같은 공개 및 내부 TypeScript 패키지가 포함되어 있다. README에는 다음과 같은 면책 조항이 포함되어 있다. 자체 호스팅 사용자는 가이드를 따르고 기본 인스턴스 비밀번호와 관리자 키를 변경해야 한다. Convex는 Linux와 Mac에서 가장 철저히 테스트되었으며 Windows에서는 경험이 적다. 자체 호스팅 빌드에는 --disable-beacon 플래그로 비활성화할 수 있는 익명 비콘이 포함되어 있다. 비콘은 무작위 배포 식별자, 데이터베이스 마이그레이션 버전, 백엔드 git 리비전, 가동 시간만 보고한다.