Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DTU-Payment-Service

Project Structure

The DTU-Payment-Service consists of 7 projects.

  1. The end-to-end tests.
  2. A Token Management microservice in token-management-service responsible for managing, consuming and issuing tokens.
  3. An Account Management microservice in account-management-service microservice that is responsible for accounts management in DTU Pay.
  4. A Payment Management microservice in payment-management-service that is responsible for the communication with the SOAP-based bank service.
  5. A Report Management microservice in reporting-service that is responsible for reporting services for customers, merchants and managers.
  6. A facade microservice in dtupay-facade that offers an external REST interface. Also, this service communicates through message queues.
  7. A message utilities in messaging-utilities provided by Hubert Baumeister.

Dockerization

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.

Prerequisites

Before proceeding to the installation of the project, make sure you have the following technologies installed:

  1. Docker
  2. Java 23
  3. An IDE, such as IntelliJ, or Eclipse

Installation Guide

  1. Clone the repository: git clone https://github.com/Zedrichu/DTU-Payment-Service.git
  2. Navigate to the end-to-end-test foldercd DTU-Payment-Service/end-to-end-test
  3. 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.

Note: RabbitMQ Compose Service

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.

GitHub Access

GitHub URL

License

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/.


Project completed in course 02267 Software Development of Web Services @ Technical University of Denmark

drawing

About

Microservice Java application for mobile payments via REST API client interactions and a SOAP-based backend served by the bank

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages