Technology stack

Criteria

The technology stack has been chosen based on the following criteria:

Microservices

  • Java
  • Spring Boot
  • Spring Data (JPA)
  • Flyway (database migration) scripts

Frontend

  • NodeJS
  • ReactJS

Databases

  • Postgres (AWS RDS)
  • H2SQL (in memory for testing)
  • Flyway (for migrations)

Workflows

  • BPMN (Business Process Model and Notation) via Camunda

Integration

  • Apache Camel
  • AWS SQS
  • AWS SNS
  • Elastic Search (AWS)

Documents

  • JODConverter (Java API to orchestrate LibreOffice)
  • LibreOffice (for document conversion)
  • ClamAV

Testing

  • Selenium for acceptance tests

Other

  • GitHub Actions
  • Keycloak (ADFS)