Skip to content

Sidox-ops/open-sadaqa

🌟 Sadaqa Kiosk 🌟

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.


🚀 Our Ambition

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!


💖 Support the Project

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.

Buy us a coffee!

Every contribution, no matter how small, fuels the future of Sadaqa Kiosk!


🛠️ The Tech Magic (Under the Hood)

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.)"]
Loading

⚡ Quick Start

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-sadaqa

2. Install Dependencies:

flutter pub get

3. Generate the magic (Freezed & Injectable):

flutter pub run build_runner build --delete-conflicting-outputs

🎨 Make It Yours (No Code Customization)

Want to rebrand the kiosk for your local charity? It's as easy as 1-2-3!

  1. Copy the magic template: cp .env.example .env
  2. Tweak your .env file 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"
  3. 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!)

🤝 Join the Movement

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.

About

Open source Flutter app for donation terminal

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages