Inspiration
We were inspired to build a transparent and efficient digital platform to bridge the gap between donors and those in need. Our goal was to create a trusted ecosystem where charitable giving is simple, direct, and its impact is clear. Through this initiative, we are actively supporting the United Nations Sustainable Development Goals, particularly SDG 1: No Poverty and SDG 2: Zero Hunger, by ensuring resources reach vulnerable communities to improve livelihoods and provide access to food security.
What it does
The Charity Portal is a web application that facilitates and manages charitable activities through three distinct user roles:
- Beneficiaries: Can sign up and submit cases for financial aid, complete with descriptions, required amounts, and supporting documents for verification.
- Donors: Can browse different causes, make monetary donations, upload proof of their transaction for transparency, and track their overall impact.
- Administrators: Act as the platform's moderators. They review and approve/reject beneficiary cases, verify incoming donations, and manage the overall integrity of the system.
How we built it
We built the entire front-end as a web application using Flutter. This choice allowed us to create a responsive and consistent user interface for all three user portals from a single codebase. The backend (inferred) consists of a server and database that handles user authentication, data storage for cases and donations, and the core business logic that connects all the user interactions. The architecture is fundamentally role-based, ensuring each user only sees the information and functions relevant to them.
Challenges we ran into
- Ensuring Security and Privacy: We were handling highly sensitive user data, including personal stories, financial needs, and transaction details. Implementing a secure system to protect this information was our biggest challenge.
- Designing a Robust Verification Workflow: Creating a process for admins to verify cases and donations that was both thorough enough to build trust and efficient enough not to cause long delays was a complex balancing act.
- State Management: With three different dashboards and data that needed to be consistent across the app (like donation totals and case statuses), managing the application's state in Flutter was technically demanding.
Accomplishments that we're proud of
- A Complete End-to-End System: We successfully built a fully functional workflow that connects a beneficiary's request, a donor's contribution, and an administrator's verification, closing the loop on the charitable process.
- Building a Transparent Platform: The core features of case vetting and requiring proof of donation successfully create a transparent environment, which was our primary goal.
- A Tailored Multi-User Experience: We are proud of designing and implementing three distinct, intuitive user interfaces within a single application, each perfectly suited to the needs of its user.
What we learned
We learned that in trust-based systems, a "human-in-the-loop" (the administrator) is a critical feature for ensuring accountability. Technically, this project provided deep insights into building a complex, real-world web application with Flutter. Most importantly, we learned that a good user experience is fundamental to building user trust, especially when dealing with finance and personal vulnerability.
What's next for Charity Portal
- Mobile Application: Port the existing web application to native iOS and Android apps using Flutter's cross-platform capabilities to reach a wider audience.
- Payment Gateway Integration: Automate the donation process by integrating a secure payment gateway, which will make donating faster and remove the need for manual proof uploads.
- Real-Time Notifications: Implement push notifications to alert users about important events, such as when a case is approved, a donation is verified, or a funding goal is met.
- Expanded "In-Kind" Donations: Develop the framework for donating physical goods, including features for managing logistics and delivery.
Log in or sign up for Devpost to join the conversation.