Skip to content
Mehmet Can Ay edited this page Nov 2, 2026 · 4 revisions

PDataViewer

PDataViewer is an open-source web application for exploring the Parkinson's disease (PD) cohort landscape. It helps researchers compare cohort characteristics, assess the availability of measurements and biomarkers, and identify datasets suitable for specific research questions.

Application: PDataViewer · Source code: SCAI-BIO/PDataViewer · License: Apache 2.0

Purpose

The project curates information about major PD cohort studies to:

  1. Characterize the variables and measurements collected in each cohort.
  2. Assess the quantity and availability of comparable data.
  3. Explore interoperability and semantic mappings across cohorts.

The application presents derived and descriptive information for research exploration; it is not a public repository of identifiable participant-level records.

Features

Feature Description
Cohorts Compare cohort metadata, participant counts, and data-access information.
Biomarkers Explore distributions of available biomarker measurements and diagnostic groups.
Study Picker Rank cohorts according to the availability of selected variables.
Variable Mappings Explore semantic relationships across cohort variables using an interactive chord diagram.
Longitudinal Explore measurement availability and participant follow-up over time.
Contact Us Find project and support information.

Technology stack

PDataViewer uses a React 19 + TypeScript frontend built with Vite, with a Python 3.14 / FastAPI backend and PostgreSQL 18 database.

The frontend uses React Router (HashRouter), TanStack Query, TanStack Table, Tailwind CSS, locally maintained Base UI-based components, Apache ECharts for boxplots and line charts, and D3 for the variable-mapping chord diagram. Local development uses Vitest and Oxlint. Docker images are published via GitHub Actions and can be deployed with containers or Kubernetes.

Quick start (Docker Compose)

For a development environment with the frontend, API, and PostgreSQL:

git clone https://github.com/SCAI-BIO/PDataViewer.git
cd PDataViewer
docker compose up --build

The current repository's docker-compose.yml exposes:

This Compose configuration uses frontend/Dockerfile.dev and is for development, not a hardened production deployment. Stop with docker compose down. Do not use its sample database credentials in production.

Quick start (local development)

Install Python 3.14, uv, Node.js 26 (recommended), npm, and PostgreSQL 18. In separate terminals:

Backend (with the database and environment configured):

cd backend
uv sync --locked
uv run uvicorn pdataviewer.api.main:app --reload --port 5000

Frontend:

cd frontend
npm ci
# Create .env.local with VITE_API_URL=/api
npm run dev

The development application is served at http://localhost:5173. The Vite proxy forwards /api requests to the local backend at http://localhost:5000, removing the /api prefix. Set the backend's ALLOWED_ORIGINS to include http://localhost:5173 when using it cross-origin.

See Getting Started for the full setup and environment-variable examples.

Documentation

Further details: frontend README, backend README, and contributing guidelines.

Support and contributions

Bug reports and feature requests belong in the issue tracker. For sensitive security reports, follow the security policy rather than opening a public issue.