Skip to main content
web Featured 2023

Donation & Kiosk Platform

Built a donation platform providing kiosk services for community organizations. Public users access organization details through kiosks and make donations, while administrators manage data and services through an internal control panel. Built a multi-channel notification microservice handling email, SMS, push and social media messages, with bulk send over RabbitMQ queues and transactional traffic segregated from campaign traffic onto separate queues to protect transactional deliverability. Integrated multiple payment gateways - Stripe, PayPal, FreedomPay and Braintree - behind a common payment abstraction.

Technologies Used

Spring MVC Thymeleaf Spring REST Swagger Spring Security OAuth2 Hibernate MySQL RabbitMQ Stripe PayPal Braintree AWS Bootstrap 4
Donation & Kiosk Platform

What is Donation & Kiosk Platform?

This donation platform was built to modernize how community organizations collect and manage donations. The client needed a solution that would work both online and through physical kiosk installations at their facilities, providing a seamless giving experience for their community members.

The platform has two main interfaces: the public-facing donation portal and kiosk application, and the administrative backend for organization staff. The public interface is designed for simplicity - donors can quickly learn about the organization's mission, view ongoing campaigns, and make secure donations in just a few clicks.

For the kiosk implementation, I created a streamlined touch-friendly interface optimized for the specific hardware being used. The kiosk mode includes features like automatic session timeout, receipt printing, and offline capability to handle network interruptions gracefully.

The administrative control panel gives organization staff complete visibility into their donation activity. They can create and manage fundraising campaigns, generate detailed reports, send acknowledgment emails to donors, and configure recurring donation options. The system also supports multiple payment methods through Stripe integration, including credit cards, ACH transfers, and Apple Pay.

Security was paramount given the sensitive nature of financial transactions. I implemented comprehensive security measures using Spring Security with OAuth2, ensuring PCI compliance and protecting donor information. The platform is hosted on AWS with automatic backups and monitoring to ensure reliability.

By the Numbers

4
Payment gateways integrated
4
Notification channels
2
Queue lanes: transactional vs campaign

What does it do?

  • Public kiosk for organisation details and donations, plus an internal control panel for administrators to manage data and services
  • Multi-channel notification microservice covering email, SMS, push and social media messages
  • Bulk send over RabbitMQ queues, with transactional traffic segregated from campaign traffic onto separate queues so a large campaign cannot delay a receipt
  • Four payment gateways - Stripe, PayPal, FreedomPay and Braintree - behind a single common payment abstraction
  • Spring Security with OAuth 2.0 protecting donor data and payment flows

How was it built?

Queue segregation is the decision worth calling out. Transactional messages (a donation receipt, a password reset) and campaign messages (a fundraising blast to thousands) have completely different urgency and volume profiles. Sharing one queue means a campaign sits in front of receipts and delays them, and it also blends the sender reputation of the two streams. Splitting them onto separate RabbitMQ lanes keeps transactional deliverability protected regardless of what campaign traffic is doing. Fronting four gateways with one payment abstraction meant adding a provider never touched the donation flow itself.

Related Projects

Indivigroup Digital Community
web

Indivigroup Digital Community

Digital community platform applying psychology and game theory for collaborative problem-solving and group decision making.

MeAndMyBooks CRM
web

MeAndMyBooks CRM

Book rental service CRM with multi-role admin module for managing rentals and customer interactions.

Interested in a Similar Project?

Let's discuss how I can help bring your ideas to life with a custom solution tailored to your needs.

Start a Conversation
Chat on WhatsApp