← Back to projects

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.

C# .NETFlutterStripeDLocalDigital Ocean
🎯

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

β–ΈClean and scalable architecture
β–ΈOptimized color palettes
β–ΈReliable webhooks
β–ΈOptimized costs
β–ΈComprehensive testing
β–ΈAutomated deployment

Key Results

2
Payment Gateways Integrated
3
Platforms (Web, iOS, Android)
100%
Compliance Verified
CI/CD
Automated Deployment
πŸ—οΈ

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.