This is a web application, which purpose is to manage access to publicly accessible EV Charger. Current deployment available at:
This Application consists of:
- Server (Kotlin + Springframework)
- Keycloak (auth provider)
- Data storage - currently Postgres
This code is structured in 3 main modules:
- module-api
- contains all API specifications, DTOs
- module-server
- contains business logic ("implements module-api")
- module-ui
- contains Angular SPA (FrontEnd code)
- is re-using module-api endpoints and DTOs (automatically injected during build)
- trigger the complete build by running:
./gradlew clean build
- inside build/libs there will be a jar file located
java -jar [FILE]
Application itself requires Keycloak and PostgreDB to successfully start. Therefore, you can use
- for PostgreDB docker-compose file to start local DB instance
- for Identity porivder you can use any existing keycloak instance, or you can also run your local instance in docker
- whatever you will do, you only need to properly specify it in application.yml file, namely client id, secret, and issuer uri
oauth2:
client:
registration:
keycloak:
client-id: "YOUR_VALUE"
client-secret: "YOUR_VALUE"
provider:
keycloak:
issuer-uri: "https://keycloak.public/realms/myRealm"For deployment follow instructions in devOps folder.