Repository navigation
Home
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
The project curates information about major PD cohort studies to:
- Characterize the variables and measurements collected in each cohort.
- Assess the quantity and availability of comparable data.
- 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.
| 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. |
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.
For a development environment with the frontend, API, and PostgreSQL:
git clone https://github.com/SCAI-BIO/PDataViewer.git
cd PDataViewer
docker compose up --buildThe current repository's docker-compose.yml exposes:
- React/Vite frontend: http://localhost:5173
- FastAPI backend: http://localhost:5000
- API documentation: http://localhost:5000/docs
- PostgreSQL: localhost:5432 (development database)
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.
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 5000Frontend:
cd frontend
npm ci
# Create .env.local with VITE_API_URL=/api
npm run devThe 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.
- Getting Started — prerequisites, local setup, and Docker Compose.
- Frontend Architecture — React project structure, API access, UI components, and visualization libraries.
- Docker and Deployment — production images, environment configuration, CI releases, and deployment considerations.
- Troubleshooting — common setup, networking, and build problems.
Further details: frontend README, backend README, and contributing guidelines.
Bug reports and feature requests belong in the issue tracker. For sensitive security reports, follow the security policy rather than opening a public issue.
Copyright © 2026 Fraunhofer SCAI