- Versions in this project
- Changes necessary on UNIX
- Running in development mode
- Change settings of postgres
- Dependecies of the different services
- Running tests in IntelliJ
- Maintain and extend
- License
- Scala: 2.13.0
- sbt: 1.4.3
- Java: 1.8
- Lagom: 1.6.4
- scalariform: 1.8.3
- scoverage: 1.6.0
Add in .sbtopts '-J' in front of every parameter. Should look like this:
-J-Xms512M
-J-Xmx6144M
-J-Xss2M
-J-XX:MaxMetaspaceSize=2048M
Have a running hlf network in the background with the test flag.
Actions in the product code folder
First start Postgres, Imaginary and HTML-TO-PDF with the default settings:
docker-compose up
Attention, this occupies your shell.
You may want to detach with 'ctrl + d' or with '-d' flag.
Use following command:
sbt runAll
If you don't have sbt installed, you need to install sbt.
If you encounter any unexpected errors, use following command:
sbt clean
If this doesn't help: Open an issue.
To get an overview of our development process, we tagged our releases and added changelogs for every service, like the one of the user service, to our repository, which lists our different releases along with a description/enumeration of the changes between versions. Each service has an individual tag which starts with the name of the service followed by the version-number.
sbt <name>_service/docker:publish
The configuration file used by the local docker image are defined in the postgres.conf. This file will be loaded when postgres starts.
The figure gives an overview of the internal communciation between services and therefore their dependencies. Inter-service communcation is either realized through service calls or a publish-subscribe pattern using Apache Kafka as a message broker. Service calls are synchronous HTTP calls that use the defined REST-API and publishing messages to Kafka allows asynchronous decoupled communication between services. Messages are published to topics which multiple services can subscribe to. Some services communicate with the underlying Hyperledger Fabric Framework. These services are marked with a red tag.
IntelliJ expects some impressive Hardware. To work around that fact you can tell it to use less Memory. Instead of starting up VMs with ~ 1.5 GB you can tell the sbt to work on a max heap size of 512 MB.
File
- Settings
- Build, Execution, Deployment
- BuildTools
- sbt
[ ] Maximum Heap Size (MB) [ 512 ]
In case you want to maintain or extend our lagom backend consult the handbook.
Our source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file.