DataCatalog (DC) is a component of the Medical Informatics Platform (MIP) under the EBRAINS initiative. It enables seamless management, visualization, and access to data models and medical conditions.
- Data Presentation: Displays medical conditions linked to datasets within the MIP.
- Visualization: Interactive tools for exploring Common Data Elements (CDEs) and metadata hierarchies.
- Data Management: Create, edit, delete, and version control data models using XLSX and JSON file formats.
- Role-Based Access: Secure access and operation control via defined user roles and Keycloak integration.
- DOMAIN_EXPERT:
- Responsible for creating, editing, deleting, and releasing unreleased data models.
- DC_ADMIN:
- Manages federations and all associated functionalities.
Feature | DOMAIN_EXPERT | DC_ADMIN |
---|---|---|
Create/Edit Data Model | Yes | No |
Delete Data Model | Yes | No |
Manage Federations | No | Yes |
Release Data Models | Yes | No |
Note: Once a data model is released, it becomes immutable and cannot be modified or deleted.
Users can access the following features without logging in:
- View all available federations.
- Access detailed federation information.
- Navigate to the public URL of each federation.
- Browse all released data models within federations.
- View detailed metadata.
- Visualize metadata hierarchies using a zoomable tidy tree.
- Access CDE-specific information.
- Download data models in JSON or XLSX format.
Authenticated users with proper roles gain access to management features, including:
- Manage Federations: Full control over federations (DC_ADMIN).
- Manage Data Models: Create, edit, delete, and release unreleased data models (DOMAIN_EXPERT).
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/madgik/datacatalog.git cd datacatalog
-
Create a
.env
file in the project root with the following configurations:# Flask Environment FLASK_ENV=development FLASK_DEBUG=1 # Database POSTGRES_PASSWORD=test # Backend Configuration DB_URL=jdbc:postgresql://datacatalogdb:5432/postgres DB_USER=postgres DB_PASSWORD=test PUBLIC_HOST=http://localhost ; In case of having frontend on development set this to 'http://localhost:4200'. DQT_URL=http://data_quality_tool:8000 # Keycloak Authentication AUTHENTICATION=1 KEYCLOAK_AUTH_URL=https://iam.ebrains.eu/auth/ KEYCLOAK_REALM=MIP KEYCLOAK_CLIENT_ID=datacatalogue KEYCLOAK_CLIENT_SECRET=your_secret_here KEYCLOAK_SSL_REQUIRED=none
-
Deploy using Docker Compose:
docker-compose up --build
-
Access the application in your browser at http://localhost.
For development purposes, you can run the frontend and backend separately:
-
Navigate to the
frontend
folder:cd frontend
-
Install dependencies using npm:
npm install
-
Start the development server:
ng serve
DataCatalog is maintained by the Medical Informatics Platform team under EBRAINS. For more information, visit EBRAINS.