Skip to content

Aditya200247/-Payment-Transaction-Monitoring-and-Analytics-System

 
 

Repository files navigation

💳 Payment Transaction Monitoring & Analytics System

A high-performance backend system for real-time payment transaction monitoring, processing, and analytics. Built using a microservices architecture with Go, Rust, gRPC, and PostgreSQL to handle high-volume transactions efficiently.


🚀 Features

  • Real-time transaction ingestion API
  • High-performance processing using Rust
  • Efficient communication via gRPC
  • Aggregated analytics (failure rate,revenue, merchant stats)
  • Query APIs for transaction insights
  • Health & monitoring endpoints
  • Docker-based deployment

🏗 Architecture

Payment Client
      ↓
Go API (Ingestion & Validation)
      ↓ gRPC
Rust Processor (Core Engine)
      ↓
PostgreSQL Database
      ↓
Query & Analytics APIs

🛠 Tech Stack

  • Go (API Layer)
  • Rust (Processing Engine)
  • gRPC & Protocol Buffers
  • PostgreSQL
  • Docker

📦 Project Structure

/go-service        → API & ingestion layer  
/rust-processor   → Transaction processing engine  
/proto            → gRPC definitions  
/database         → Schema & queries  
/docker           → Docker setup  

⚙️ Setup Instructions

1. Clone the Repository

git clone https://github.com/your-username/payment-monitoring-system.git
cd payment-monitoring-system

2. Run with Docker

docker-compose up --build

3. Run Services Manually

Go API

cd go-service
go run main.go

Rust Processor

cd rust-processor
cargo run

📡 API Endpoints

Transactions

POST /transactions
GET /transactions?status=FAILED
GET /transactions/{id}

Analytics

GET /analytics/merchant/{merchant_id}
GET /analytics/daily

Monitoring

GET /health
GET /metrics

📊 Example Input

{
  "transaction_id": "TXN123",
  "merchant_id": "M456",
  "amount": 2500,
  "status": "SUCCESS",
  "payment_method": "UPI"
}

🧪 Testing

  • Unit testing for services
  • Integration testing (Go ↔ Rust via gRPC)
  • Manual testing with sample data

📈 Future Improvements

  • gRPC streaming for batch ingestion
  • Advanced analytics dashboards
  • Rate limiting & fraud detection
  • Real-time alerts

👨‍💻 Contributors

  • Aryan Prasad
  • Aditya Kumar Thakur

📄 License

This project is for educational purposes.

About

Real-time payment transaction monitoring system built with Go, Rust, gRPC, and PostgreSQL. It ingests, validates, and processes high-volume transactions, enabling fast analytics, failure tracking, and scalable backend performance through a microservices architecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 46.6%
  • Go 32.5%
  • JavaScript 12.1%
  • Rust 5.0%
  • CSS 3.5%
  • HTML 0.3%