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
- 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
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.
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
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:8080The 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.







