Skip to content

miracum/MIRACUM-Mapper-2.0-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIRACUM Mapper Frontend

This is the frontend repository for the MIRACUM Mapper project. It provides a web interface which interacts with the backend. It is a Vue 3 project with Vite as the build tool. The corresponding backend repository can be found here

Features

  • Projects can be created to group Mappings together which map codes from a specific set of codeSystems to another set of codeSystems. The access to projects for users can be managed with projectPermissions
  • CodeSystems and their corresponding Codes can be imported in different formats (e.g CSV, FHIR/JSON). The changes between imported versions of codeSystems are computed automatically and stored efficiently in the database
  • The used version of a codeSystem in a project can be upgraded in a process called Migration, where all changes of concepts which are used in mappings have to be reviewed
  • The User Management is handled by KeyCloak and the backend is able to authenticate users against it
  • Efficient Querying of the codes from the codeSystems is possible with the use of filters

Manage CodeSystems

Manage CodeSystems

Import Concepts

Import Concepts

Create a Project

Add Project

View Projects

View Projects

Mappings

Mappings

Create Mappings

Add Mapping

Migrate Projects to newer Versions

Migrate Projects to newer Versions

Review changed Concepts

Review changed Concepts

Architecture

The frontend is a Vue 3 project with Vite as the build tool. It uses the Vue Router for routing and Pinia for state management. PrimeVue (v4) is used as the component library. TailwindCSS classes are used for styling. The project was started with JavaScript and got migrated to TypeScript during the development. Therefore not all parts of the codebase are fully typed yet. In order to automatically generate client code for the api, openapi-typescript is used. In order to communicate with KeyCloak and handle the authentication flow, keycloak-js is used.

Quick Start

The application can be build and run using Docker. A Dockerfile and docker-compose.yaml files are provided for this purpose. For development it is recommended to use the provided Dev-Container. For production Nginx is used to serve the bundled frontend and provide certificates for https.

There are different guides depending on how the application should be set up and run:

  • If you want to contribute to the project and actively develop something, see the Development Guide
  • If you want to test the application (e. g. import codesystems, create projects and mappings) without changing the code, see the Test Guide
  • If you want to deploy the application for production or on a test system, see the Deployment Guide

Configuration

The Frontend can be configured using a .env file. The following environment variables can be used:

VITE_KEYCLOAK_URL=http://localhost:8081/
VITE_KEYCLOAK_CLIENT_ID=miracum-mapper
VITE_KEYCLOAK_REALM=master
VITE_APP_URL=http://localhost:5173
VITE_API_URL=http://localhost:8080

The VITE_KEYCLOAK_URL is the url of the KeyCloak server. The VITE_KEYCLOAK_CLIENT_ID is the client id of the KeyCloak client. The VITE_KEYCLOAK_REALM is the realm of the KeyCloak server. The VITE_APP_URL is the url of the frontend. The VITE_API_URL is the url of the backend.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages