Skip to content

A scalable microservices payment system that allows users to charge their own wallet, powered by GoLang and Java

Notifications You must be signed in to change notification settings

Nhathuy1305/PayGo-microservices

Repository files navigation

PAYGO PROJECT

Introduction

This project is a simple payment system that allows users to charge own wallet.
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 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

About

A scalable microservices payment system that allows users to charge their own wallet, powered by GoLang and Java

Topics

Resources

Stars

Watchers

Forks