SparkFund

Archived

SparkFund started as an assigned coursework project — build a crowdfunding and donation system. Before development began, we had to submit a proposal defining our own approach to the brief. R

LaravelSanctumMySQLPayMongo (GCash/PayMaya)JavaScriptjQueryBootstrap 5

The Problem

SparkFund started as an assigned coursework project — build a crowdfunding and donation system. Before development began, we had to submit a proposal defining our own approach to the brief. R

The Approach

Built on Laravel with a proper service layer separating concerns — CampaignService, PaymentService, and NotificationService — instead of pushing logic into controllers. Campaign lifecycle eve

The Outcome

Shipped and presented well to panels, with the full donor and campaign-organizer flow working end to end — campaign creation, category browsing, real PayMongo payment processing (GCash/PayMay

Critical Challenges

Reconciling asynchronous payment confirmation

PayMongo's checkout flow doesn't confirm a payment synchronously with the donation request; the actual confirmation comes back through a separate webhook after the donor completes authorizati

Supporting anonymous donations without breaking donor contact

the donation form requires an email and name, but donors can also choose to donate anonymously, meaning there's no linked user account for that donation. Rather than making the anonymous flag

Screenshots