Skip to content

project-cvsa/cvsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CVSA

The official monorepo for the Chinese Vocal Synthesizer Archive (CVSA) – a unified platform that aggregates and preserves information about the Chinese vocal synthesizer community.

Overview

CVSA is a community-driven archive that consolidates scattered information about Chinese singing voice synthesis community.

This monorepo contains all core components of the CVSA platform, managed with Turborepo and Bun.

Project Structure

cvsa/
├── apps/
│   ├── backend/          # Core REST API service (Elysia + Prisma)
│   └── frontend/         # Astro SSR application with React islands (Not implemented yet)
├── packages/
│   ├── config/           # Shared configuration (TypeScript, etc.)
│   └── db/               # Prisma schema and database client
├── .github/              # GitHub workflows and issue templates
└── turbo.json            # Turborepo configuration

Tech Stack

Layer Technology Purpose
Runtime Bun Fast JavaScript runtime, package manager, test runner
Monorepo Turborepo Build system and task orchestration
Frontend Astro + React SSR with partial hydration (islands architecture)
Backend Elysia High-performance, type-safe API framework
Database PostgreSQL + TimescaleDB Core storage with time-series optimization
ORM Prisma Type-safe database client and migrations

Getting Started

Prerequisites

Initial Setup

  1. Clone the repository

    git clone https://github.com/project-cvsa/cvsa
    cd cvsa
  2. Install dependencies

    bun i
  3. Set up environment variables

    Create .env files in each service directory following their .env.example templates:

    cp apps/frontend/.env.example apps/frontend/.env
    cp packages/db/.env.example packages/db/.env
  4. Initialize the database

    cd packages/db
    
    # Generate Prisma client
    bun db:gen
    
    # Run migrations
    bun db:migrate:dev

Development

Start all services in development mode:

bun dev

Available Scripts

Command Description
bun dev Start all services in development mode
bun build Build all applications
bun lint Run Biome linter across the codebase
bun lint:fix Fix linting issues automatically
bun format Format code with Biome
bun test Run tests across all packages

Package-Specific Scripts

See each package's README.md for available scripts.

License

This project is licensed under the GNU Affero General Public License v3.0 – see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors