Skip to content

tonyolori/transaction-service

 
 

Transaction Service

📌 Overview

The Transaction Service handles the recording, retrieval, and presentation of all financial transactions across the platform. It provides customers with transparent access to their transaction history, generates digital receipts for individual transactions, and produces account statements for regulatory and personal use.

It acts as a query and reporting layer over the Account Service ledger, ensuring customers and admins have accurate visibility into all money movements.

🚀 Service Requirements

  • Language/Framework: .NET 9, ASP.NET Core
  • Database: PostgreSQL
  • Cache/Queue: Redis, Kafka
  • Protocols: gRPC, REST
  • Dependencies: Account Service, Ledger Service, Notification Service

🛠️ High-level Documentation

  • Handles customer bank accounts business logic
  • Interacts with Account Service.
  • Integrates with 3rd party APIs if any

📂 Code Structure

  • TransactionService.Api → API endpoints
  • TransactionService.Grpc → gRPC endpoints
  • TransactionService.Application → Business logic (CQRS, MediatR handlers)
  • TransactionService.Domain → Core entities & aggregates
  • TransactionService.Worker → Background workers and RabbitMQ/Kafka set up
  • TransactionService.Infrastructure → Database (EF Core), repositories, external integrations
  • TransactionService.Tests → Unit & integration tests

📜 Documentation

🔌 API Specification

📡 Deployment

  • Dockerized and deployed via Kubernetes
  • CI/CD with GitHub Actions (.github/workflows/ci-cd.yml)
  • Config via environment variables (see .env.example)

🧪 Testing

  • Unit tests: make test
  • Integration tests: details
  • CI/CD pipeline: GitHub Actions / GitLab CI

▶️ Running Locally

# Install dependencies
make build

# Start dev server
make run-all

# Start watch server
make watch-all

About

A Developer Community Bank Transaction Service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 92.2%
  • Makefile 6.0%
  • Dockerfile 1.8%