https://github.com/onconova/onconova
Onconova is an open-source data platform aiming to enable reliable, structured data collection and analysis in precision oncology.
https://github.com/onconova/onconova
angular database healthcare interoperability oncology python research webapp
Last synced: about 2 months ago
JSON representation
Onconova is an open-source data platform aiming to enable reliable, structured data collection and analysis in precision oncology.
- Host: GitHub
- URL: https://github.com/onconova/onconova
- Owner: onconova
- License: mit
- Created: 2024-11-15T15:06:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-16T08:37:54.000Z (2 months ago)
- Last Synced: 2026-04-16T09:14:40.242Z (2 months ago)
- Topics: angular, database, healthcare, interoperability, oncology, python, research, webapp
- Language: Python
- Homepage: https://onconova.github.io/docs/latest/
- Size: 258 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Onconova
Precision Oncology Data Platform
[](https://github.com/onconova/onconova)
[](https://github.com/onconova/onconova/blob/main/LICENSE)






Onconova is an open-source data platform aiming to enable reliable, structured data collection and analysis in precision oncology.
Our goal is to support clinical research and development through interoperable, accessible software.
Explore the documentation ยป
Report Bug
ยท
Request Feature
## Features
**๐ฅ๏ธ API Server**
A robust CRUD API for clinical resources, built on the OpenAPI 3.1 standard to facilitate seamless data management and integration.
**๐ Web Client**
A modern Angular-based interface offering intuitive access to clinical data and API endpoints.
**๐ Structured Data Collection**
Efficient capture of research data in standardized formats, securely managed within a relational PostgreSQL database.
**๐ Interactive Data Exploration**
Advanced tools for cohort creation, real-time filtering, and data visualization, supporting dynamic and insightful analysis.
**๐ Data Protection**
Automated anonymization capabilities designed to support compliance with data privacy regulations.
**๐ Effortless Deployment**
A fully Dockerized architecture enabling rapid setup and dependable production deployment.
**๐งฉ Extensible & Customizable**
A flexible plugin system allows for institution-specific enhancements without modifying the core platform.
## Installation
Checkout the [Installation Guide](https://onconova.github.io/docs/latest/get-started/installation/) for detailed setup instructions.
If you need help, consult the [FAQ](https://onconova.github.io/docs/latest/faq/) or [open an issue](https://github.com/onconova/onconova/issues).
### Prerequisites
See the [requirements](https://onconova.github.io/docs/latest/get-started/requirements/) for supported platforms and dependencies.
## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
### Development Setup
Follow the [Installation Guide](https://onconova.github.io/docs/latest)/get-started/installation.md) to set up Onconova for local development using Docker Compose.
Use the `compose.dev.yml` file for development. You can specify it directly when starting the containers:
```sh
docker compose -f compose.dev.yml up --build -d
```
The development containers are configured to mount your local source code into the container. Any changes you make to your code are immediately reflected inside the container, automatically restarting the server or client as needed. This enables live development without requiring you to install all dependencies on your local machine.
### Testing
Onconova includes a comprehensive test suite to ensure all components function as intended. The testing strategy varies depending on whether you are working on the server, the client, or both.
Run server-side unit tests using [Pytest](https://docs.pytest.org/en/stable/) within the Docker container:
```sh
docker compose run --rm server pytest -W ignore
```
These tests cover backend models, API endpoints, and core logic. Before submitting changes, verify that all tests pass and consider adding new tests for any new features or bug fixes.
Execute client-side Angular unit tests:
```sh
docker compose run --rm client npm run test:ci
```
Automated tests validate UI components, services, and client logic. In addition to running these tests, manually test the application (especially any new or modified components) on your development instance to confirm expected behavior and usability.
## License
Distributed under the MIT License. See [LICENSE](https://github.com/onconova/onconova?tab=MIT-1-ov-file) for more information.