Skip to content

KROGiving

KROGiving is a Nigerian crowdfunding platform that enables individuals and organizations to create fundraising campaigns and receive donations from supporters locally and internationally.

Business Purpose

Domain What KROGiving does
Campaign management Creators launch campaigns with targets, durations, rich media, and descriptions
Donations Donors give via Paystack (card, bank transfer, USSD); multi-currency supported
Withdrawals Campaign organizers request payouts; admins approve with TOTP 2FA
Admin review Staff review and approve/reject campaigns before they go live
Notifications Email (SendGrid/MailerSend) and SMS (Termii/Telnyx) for all key events
CMS content Blog and static content managed via Strapi

System Components

Component Repo Role
krogiving-backend krogiving-backend/ NestJS API — all business logic, payments, auth
krogiving-frontend krogiving-frontend/ React 18 SPA — public donor and campaign creator app
giv-admin-new giv-admin-new/ React 19 + Vite admin dashboard — internal staff tool

Infrastructure

KROGiving runs on DigitalOcean App Platform. Each component is deployed as a separate App Platform component. Git-tag-triggered CI/CD calls the DO App Platform API to redeploy the relevant component.

Databases:

  • PostgreSQL (DigitalOcean Managed) — campaigns, users, donations, withdrawals
  • MongoDB (DigitalOcean Managed) — admin users, admin logs, reviews, settings
  • Redis — OTP code cache (TTL-based expiry)

File storage: DigitalOcean Spaces (S3-compatible) for campaign images; Cloudinary for campaign videos (uploaded directly from browser).

Quick Navigation

Doc What it covers
Architecture Tech stack per component, module structure, request flows, API surface, integrations
Deployment DO App Platform setup, CI/CD, environment variables, operational procedures