This is a small school-project to create an API that shares logic between microservices. The project includes the API and a client that has multiple end-to-end tests.
The API uses docker containers and has a build script that's intended to work with Jenkins.
To start the application it's important you follow the following steps:
- Start at the root of the project folder
- Navigate to the folder
local_build_and_run
- type the command
sh local_build_and_run
and press enter
The reason why you need to navigate to the folder local_build_and_run
is because of a
timezone issue. Here we have a docker-compose file that builds the report-microservice on the same
timezone that is running on your machine. This is because the docker-containers by default don't run the same timezone.
The timezones need to match because else the end-to-end tests in the client-application will fail for the report-service when we wish to get reports for a given time period
- Start at the root of the project folder
- type the command
sh build_and_run.sh
and press enter
The application will then do the following
- Generate JAR-files for all the microservices - including the message-utilities folder which store the commands to use message queues.
- Removes any unnecessary docker images
- With docker-compose create images and containers for the all the microservices, as well as RabbitMq
- Run all the unit-tests on the microservices.
- Run end-to-end cucumber test on the client application.
- Now the DTUPay API is up and running.
You can check it on your browser!
Christopher Sofus Nielsen - s184735
Josef Brøndum Schmidt - s205458
Máximo Pérez López - s201453
Zineb Fadili - s201501
David Christian Tams Støvlbæk - s175359
Boris Karl Voigt Grunwald - s180954
Yousef Aqil Mohsen - s185206