xPoverty: Enterprise Donations Platform
Robust architecture, multiple payment gateways, and comprehensive testing to transform social impact
Project Overview
xPoverty is a donations application developed with enterprise-grade architecture that allows non-profit organizations to receive donations securely and efficiently. The project was built with industry best practices, focusing on scalability, security, and user experience.
The Challenge
Create a donations platform that could handle multiple international payment gateways, comply with strict compliance requirements, and offer a seamless experience on both web and mobile devices.
- β’Integration of multiple payment gateways (Stripe and DLocal)
- β’Compliance with security and regulatory standards
- β’Consistent cross-platform experience (Web and Mobile)
- β’Reliable webhook system for real-time synchronization
The Solution
We developed a robust microservices architecture with C# .NET for the backend, ensuring scalability and maintainability. The frontend was built with Flutter, allowing a single codebase for web, iOS, and Android.
Enterprise Backend
C# .NET with clean architecture, CQRS pattern, and Entity Framework Core for efficient data management.
Cross-Platform Frontend
Flutter with BLoC pattern for state management, ensuring reusable and maintainable code.
Payment Integration
Implementation of Stripe for global markets and DLocal for Latin America, with automatic fallback system.
Technology Stack
Backend
- β’ C# .NET Core
- β’ Entity Framework Core
- β’ ASP.NET Web API
- β’ SignalR for real-time
Frontend
- β’ Flutter (Dart)
- β’ BLoC State Management
- β’ Material Design
- β’ Responsive UI
Payments
- β’ Stripe API
- β’ DLocal Integration
- β’ Webhook Management
- β’ PCI Compliance
DevOps
- β’ GitHub Actions CI/CD
- β’ Digital Ocean Hosting
- β’ Docker Containers
- β’ Automated Deployments
Testing Strategy
We implemented a multi-level testing strategy that ensures code quality and reliability across all layers of the application.
Unit
xUnit for .NET and Flutter Test to validate business logic and individual components.
Integration
Testing of APIs, databases, and external services to ensure correct communication.
End-to-End
Flutter Web testing and Patrol for mobile, simulating complete user flows.
Key Features
Key Results
Key Architectural Decisions
The project benefited from consultations with multiple specialized code agents and GPTs, carefully evaluating each technical decision to ensure the best long-term solution.
Backend Architecture
CQRS and Clean Architecture for separation of concerns and easier testing.
State Management
BLoC pattern in Flutter for predictable and testable state management.
Payment Gateway
Fallback system between Stripe and DLocal to maximize success rates.
Deployment Strategy
Digital Ocean with optimized costs and automated CI/CD with GitHub Actions.
Visit xPoverty
Discover how this platform is transforming social impact through secure and efficient donations.