The DTU-Payment-Service consists of 7 projects.
- The
end-to-endtests. - A Token Management microservice in
token-management-serviceresponsible for managing, consuming and issuing tokens. - An Account Management microservice in
account-management-servicemicroservice that is responsible for accounts management in DTU Pay. - A Payment Management microservice in
payment-management-servicethat is responsible for the communication with the SOAP-based bank service. - A Report Management microservice in
reporting-servicethat is responsible for reporting services for customers, merchants and managers. - A facade microservice in
dtupay-facadethat offers an external REST interface. Also, this service communicates through message queues. - A message utilities in
messaging-utilitiesprovided by Hubert Baumeister.
In our docker-compose files, we run the rabbitMq container first and we have set up custom healthcheck on which the other services depend to make sure it's ready to accept communication with the other services.
Also, we use the eclipse image eclipse-temurin:23-alpine as a base in our service DockerFiles in order to optimize the size of the images.
Before proceeding to the installation of the project, make sure you have the following technologies installed:
- Clone the repository:
git clone https://github.com/Zedrichu/DTU-Payment-Service.git - Navigate to the end-to-end-test folder
cd DTU-Payment-Service/end-to-end-test - To build and install the system locally using docker, execute the following script:
sh ./build_deploy_test.sh
The script builds and deploys the docker images, run the tests and then stops the images.
Alternatively, in the root folder of the repository the script sh ./build_run.sh is supposed to achieve the same functionality.
In case you want to keep the docker images running after build, instead of running the ./build_deploy_test.sh from ./end-to-end-test directory, run the ./build_deploy.sh script.
Even though the docker-compose mechanism employs a custom health check for the RabbitMQ container, its booting is completely failing occasionally (as seen in our Jenkins build history). To verify the application testing and deployment, one should try restarting the compose deployment until the RabbitMQ service is marked as healthy.
DTU Payment Service - Microservice Java application for mobile payments via REST API client interactions and a SOAP-based backend served by the bank
Copyright (C) 2025 Technical University of Denmark
Authors:
- Adrian Zvizdenco s204683@dtu.dk
- Paul Nelson Becker
- Jonas Lykke Kjeldsen
- Jeppe Mikkelsen
- Simon Hermansen
- Adrian Ursu
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
