{"repo":"Shubh2-0/PayFlow","free":true,"listed":false,"github":"https://github.com/Shubh2-0/PayFlow","clone":"git clone https://github.com/Shubh2-0/PayFlow.git","description":"Production-grade Digital Wallet & Payment System built with Microservices Architecture. Java 17 | Spring Boot 3 | Spring Security + JWT | Hibernate | MySQL | RabbitMQ | Docker | JUnit 5. Features: pessimistic locking, idempotent transactions, deadlock prevention, event-driven notifications, daily transfer limits.","language":"Java","stars":10,"topics":["digital-wallet","docker","fintech","hibernate","java","java17","junit5","jwt-authentication","microservices","mysql"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"💳 PayFlow Digital Wallet & Payment System A production-grade payment backend built with Microservices Architecture Getting Started · API Docs · Architecture · Design Decisions --- 🎯 What is PayFlow? PayFlow is a digital wallet system — think of it like a simplified version of Paytm, PhonePe, or Google Pay's backend . What can users do? - 📝 Sign up & log in securely (passwords are encrypted, sessions use JWT tokens) - 💰 Create a wallet and add money to it - 💸 Send money to other users instantly - 📊 View transaction history and download wallet statements - ⭐ Save frequent contacts as beneficiaries for quick transfers - 🔔 Get notified automatically when a transaction happens What makes this a real engineering project (not a tutorial)? Challenge How PayFlow Solves It ----------- ---------------------- Two people send money from same wallet at once Pessimistic Locking — database locks the wallet row, processes one at a time Network glitch causes same payment request twice Idempotency Keys — duplicate detected, money deducted only once Two transfers between same wallets cause system freeze Deadlock Prevention — wallets always locked in fixed order Sending email slows down the payment Event-Driven Architecture — payment completes instantly, email sent in background via RabbitMQ One service goes down, others break Microservices — each service runs independently with its own database --- 🏗 Architecture Each service has its own database — no shared tables, no tight coupling. Se","default_branch":null,"files":null,"tree":[],"storefront":"/r/Shubh2-0","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Shubh2-0/PayFlow/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}