DonationsApp: Self-Hosted Donations Platform
A modern, self-hostable platform for creators, artists, and content creators to accept donations directly from their supporters. DonationsApp provides a Ko-fi or Patreon-like experience with full control over your data and branding.
Overview
DonationsApp is a lightweight yet powerful donation platform designed for independent creators who want to monetize their work while maintaining complete control. Unlike traditional platforms, DonationsApp can be self-hosted, giving you full ownership of your donation system, supporter data, and customization options.
Features
- Donation Management: Accept one-time and recurring donations from supporters
- Payment Processing: Secure payment handling via Paystack
- Creator Dashboard: View donation history, analytics, and supporter information
- Customizable Pages: Create personalized supporter pages with custom branding
- Form Validation: Client-side and server-side validation with Zod
- Supporter Tracking: Store and manage supporter information
- Receipt Management: Automatic receipt generation for donors
- Responsive Design: Beautiful UI that works across all devices
Tech Stack
-
Frontend:
- SvelteKit - Modern web framework
- Tailwind CSS - Utility-first styling
- shadcn-svelte - UI component library
- Superforms - Form handling and validation
-
Backend:
- SvelteKit API routes for server-side logic
- Zod - TypeScript-first schema validation
-
Payments:
- Paystack - Payment gateway for African markets
-
Data Storage:
- Airtable - Flexible database for supporter data
Getting Started
Prerequisites
- Node.js (v16 or higher)
- pnpm or npm package manager
- Paystack account for payment processing
- Airtable account for data storage
Installation
-
Clone the repository:
Terminal window git clone https://github.com/Abdulkareemoj/DonationsApp.gitcd DonationsApp -
Install dependencies:
Terminal window pnpm install -
Set up environment variables:
Terminal window cp .env.example .env.local# Add your Paystack API key and Airtable credentials -
Start the development server:
Terminal window pnpm run dev -
Open
http://localhost:5173in your browser
Configuration
Configure your donation platform by setting:
- Paystack API keys for payment processing
- Airtable base and table IDs for data storage
- Custom branding and page styling
- Donation tiers and amounts
Deployment
DonationsApp can be deployed on: