Skip to content

alicanli1995/fintech-golang-spring-app

Repository files navigation

PAYLINK FUSION PROJECT

Introduction

This project is a simple payment system that allows users to charge own wallet.
Mainly idea learning how to use GoLang, Spring Boot working together.
Some services written in GoLang, some in Java.
Generally Go and Java services communicate with each other using Kafka.
GoLang services use MongoDB, Redis, Couchbase, PostgreSQL.
Java services use PostgreSQL, MongoDB, Couchbase.

Architecture

Architecture

Prerequisites

  • Docker
  • Docker Compose
  • Kafka
  • MongoDB
  • PostgresSQL
  • Couchbase
  • Java 17
  • Maven
  • GoLang
  • Kafka
  • Redis

Attention

  • You can run all services with docker-compose.yml file. But you need to change some environment variables.
  • Need Changes PaymentOS Credentials: PAYMENT_PUBLIC_KEY & PAYMENT_PRIVATE_KEY and PAYMENT_APP_ID. You can change these variables in go-payment-handler-service/config/secret.env file.

Run Infrastructure & Services

cd infrastructure
docker-compose up -d

What's next?

  • Implementing Docker Compose
  • Starting to write documentation
  • Implementing Unit Tests
  • Implementing Integration Tests
  • Starting to frontend development
  • Implementing Kubernetes
  • Implementing CI/CD

Services

GoLang

Java

Authors