The Open-Source, Plug & Play Donation Terminal You've Been Waiting For!
Welcome to the Sadaqa Kiosk project! 👋
Are you a place of worship, a charity, or a non-profit looking to modernize the way you collect donations? You're in the right place! We're on a mission to bring sleek, interactive, and beautifully designed donation kiosks to organizations around the world—for free and without writing a single line of code.
We believe that giving should be a frictionless and beautiful experience. Our goal with Sadaqa Kiosk is to empower every charity to have access to top-tier, modern donation terminals.
No more clunky, outdated software! With Sadaqa Kiosk, you get a fully customizable Flutter application that talks directly to modern payment hardware (like SumUp). You can rebrand everything—logos, colors, and welcome quotes—in seconds, just by editing a simple configuration file.
Whether you're deploying this on a 10-inch tablet or a massive interactive touch screen, Sadaqa Kiosk is built to wow your donors!
Sadaqa is 100% open-source and maintained with love by the community. If you find this project helpful for your organization, consider supporting our work! Your donations help us buy test hardware, maintain the codebase, and add support for more payment providers.
Every contribution, no matter how small, fuels the future of Sadaqa Kiosk!
For the developers out there, Sadaqa Kiosk isn't just pretty; it's robust. We follow strict Clean Architecture to ensure the project is scalable, testable, and friendly for open-source contributors.
Built with Flutter, BLoC, and Freezed, our architecture makes it a breeze to swap out payment providers. Currently integrating natively with SumUp, but the sky is the limit!
graph TD
Presentation["🎨 Presentation Layer\n(UI, Widgets, Cubits)"] --> Domain["🧠 Domain Layer\n(Entities, UseCases, Payment Repo)"]
Data["🔌 Data Layer\n(SumUp Impl, Stripe Impl, Mock Impl)"] --> Domain
Data --> External["🌍 External SDKs\n(SumUp, Stripe, etc.)"]
Ready to dive in? Here's how you can get Sadaqa Kiosk running locally in just a few minutes.
1. Clone the repo:
git clone https://github.com/Sidox-ops/open-sadaqa.git
cd open-sadaqa2. Install Dependencies:
flutter pub get3. Generate the magic (Freezed & Injectable):
flutter pub run build_runner build --delete-conflicting-outputsWant to rebrand the kiosk for your local charity? It's as easy as 1-2-3!
- Copy the magic template:
cp .env.example .env - Tweak your
.envfile with your own flavor:ORG_NAME="My Awesome Charity" PRIMARY_COLOR="#FFC107" LOGO_PATH="assets/images/my_cool_logo.png" WELCOME_TEXT="Change the world. Make a donation." SUMUP_AFFILIATE_KEY="your_secret_key"
- Drop your logo in the
assets/images/folder and boom! You're live! 🎈
(Psst... We even have a Developer Mode so you can test the UI flow without physical payment hardware! Just set isDemoMode = true in lib/main.dart!)
We are actively looking for contributors! Want to add support for Stripe Terminal? Square? Or simply want to translate the app? We welcome all PRs with open arms! 🤗
See our CONTRIBUTING.md for the full guide on how to jump in.
Made with ❤️ by the Open Source Community.