Skip to content

Latest commit

 

History

History
104 lines (82 loc) · 4.62 KB

File metadata and controls

104 lines (82 loc) · 4.62 KB

Achtung: Bitte Milestone Simulation mit oberster Priorität abarbeiten!!

Für Simulations-Features (sofern nicht generell gültig) Branch 'Pilot' nutzen.

IMIS Cover

Dieses Projekt entstand im Rahmen des #WirvsVirus-Hackathon.

Development

General Guidelines

DO NOT COMMIT TO MASTER

Development happens in dev using feature branches and PR. dev branch is deployed at:

Tech Stack

  • Backend: Spring Boot
  • Frontend: Vue.js
  • Persistence: PostgreSQL
  • Deployment: Google Kubernetes Engine (GKE)

How to run this server?

  1. Install Docker
  2. Run docker-compose up

Local development setup

Requirements

  1. JDK 11 (Java)
  2. Gradle
  3. Python 3
  4. YARN (Frontend-only)

Preconditions

  • Start PostgreSQL:
    • Using docker container: docker-compose up -d postgres
    • Alternatively: Manually start postgres and add a user as specified in server/src/main/resources/application.yml

Run full application

  1. Make sure all preconditions have been met
  2. Run ./gradlew run

Spring Boot Server

Make sure all preconditions have been met

  • Using Gradle
    • Download Gradle wrapper gradle wrapper
    • Build application ./gradlew build
    • Test application ./gradlew test
    • Run server application ./gradlew run
  • Using Intellij:
    • Import Project by opening the build.gradle file. Intellij resolves all dependencies and you can run the application by pressing the run button.

Frontend (more)

  1. Make sure all preconditions have been met
  2. Start local development server for vue.js development: ./gradlew runFrontendDev
    • The local development server still needs the server application to be running for REST API calls!

CI system

All commits to dev, master, feature/* and all PRs will be CI checked.

New commit to dev will result in new release to staging.imis-prototyp.de.

A new release to imis-prototyp.de is not triggerd by commit on master but by a new release tag.