Skip to content

volodymyrkozlov/payment-gateway-service

Repository files navigation

Payment Gateway

Introduction

This repository contains a simple payment gateway service that accepts credit card payments, does validation, persists to a database, streams submitted payment results to a file and provides a REST API to retrieve persisted data.

Entity relationship diagram

ERD

The project also shows how to create a multi-module Maven project, manage dependencies and plugins, create REST controllers, create business logic layers using SOLID principles and structural patterns, connect to a database, manage database entities, create liquibase scripts, do bean validation and proper error management, create a docker file, create OpenAPI docs.

Build

To build payment gateway service application, run the following command.
mvn clean install

It will run unit tests and install dependencies.

Run

Run application in a local machine
Navigate to payment-gateway-service directory and run the following command:
mvn spring-boot:run

The application will start on port 8080. The swagger UI will be available by the link: http://localhost:8080/payment-gateway-service/swagger-ui/index.html

Run application in a docker container
Run the following command:
docker compose up

The application will start on port 8080. The swagger UI will be available by the link: http://localhost:8080/payment-gateway-service/swagger-ui/index.html as well.

The detailed requirements are found in ASSIGNMENT.md.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published