How hms-dbmi/cvh works
Community Visualization Hub is a web platform for creating, organizing, and sharing genomic and single-cell visualizations. Users authenticate, work in shared or private workspaces, add and process datasets, then create and publish Gosling or Vitessce visualizations. The frontend feature hooks call the backend API; the Python client offers a separate programmatic interface. The tree and excerpts establish the frontend API calls and client behavior, but do not expose backend handler internals, so uncertain service wiring is omitted.
Main entry points: api.py API application · client.ts Web API client · main.tsx Web app · useVisualizations.ts Visualization features
Components 18
Web application
- Web app
frontend/src/main.tsx - Workspace features
frontend/src/features/projects/api/useProjects.ts - Dataset features
frontend/src/features/datasets/api/useDatasets.ts - Web API client
frontend/src/api/client.ts
Backend platform
- API application
backend/core/api/api.py - Workspace routes
backend/core/api/routers/workspaces.py - Dataset routes
backend/core/api/routers/datasets.py - Visualization routes
backend/core/api/routers/visualizations.py - Domain models
backend/core/api/models.py - PostgreSQL
- Processing integration
backend/core/api/cfdb.py - Dataset ingestion
backend/core/api/management/commands/ingest_datasets.py
Visualization
- Visualization features
frontend/src/features/visualizations/api/useVisualizations.ts - Gosling viewer
frontend/src/features/visualizations/components/GoslingViewer.tsx - Vitessce viewer
frontend/src/features/visualizations/components/VitessceViewer.tsx
API clients
- Python client
python-client/src/cvh_client/client.py
Other components
- Hub user
- Auth0
Connections 18
- Hub user → Web app: uses
- Web app → Workspace features: manages workspaces
- Web app → Dataset features: manages datasets
- Web app → Visualization features: creates visualizations
- Workspace features → Web API client: requests workspace API
- Dataset features → Web API client: requests dataset API
- Visualization features → Web API client: requests visualization API
- Web API client → API application: sends API requests
- Hub user → Auth0: authenticates
- Web API client → Auth0: gets access token
- API application → Workspace routes: dispatches
- API application → Dataset routes: dispatches
- API application → Visualization routes: dispatches
- Visualization features → Gosling viewer: renders Gosling
- Visualization features → Vitessce viewer: renders Vitessce
- Python client → API application: sends API requests
- Dataset ingestion → Domain models: creates records
- Dataset ingestion → PostgreSQL: writes datasets