Inspiration

The theme for the project was to "create a solution to a real-world problem." This immediately led us to think about individuals who are eager to make a difference through donations but often struggle to find the right charity—or simply don't have the time to research one that truly aligns with their values. From this idea, Charity Match was born.

What it does

Charity Match connects users with charities that align with their personal interests and beliefs, making it easier than ever to support causes they genuinely care about. After completing a brief quiz where users select five interests from a curated list, Charity Match recommends three organizations that closely match their selections, along with five additional suggestions they might find inspiring. Users are then free to explore and choose the charity that resonates most with them. Beyond personalized matching, Charity Match simplifies the giving process by handling the entire donation transaction, allowing users to contribute seamlessly and confidently.

How We Built It

We brought the project to life using JavaScript and React for the frontend, backed by a MySQL database to manage and store all the data. We implemented a simple authentication system using Auth0.

Challenges we ran into

One of the first challenges we encountered was figuring out an effective workflow. After some discussion, we decided to organize our team with one frontend developer and two backend developers.

Auth0 gave us significant issues when setting up the network, but we managed to learn a great deal about the setup of that framework.

The workflow was difficult to establish because we needed to determine the order of tasks, especially within the context of building a web app. On top of that, having one teammate (me) unable to work on the backend—since I am still fairly new to programming—created a few bottlenecks, as we sometimes had to wait for backend components to be completed before progressing further.

The rest of the challenges were the classic hackathon problems: Git conflicts, missing semicolons, typos, and occasionally writing bad code under time pressure. One typo even cost us a couple of hours to debug!

Accomplishments that we're proud of

Took on the entire frontend and brought it to life — all while learning React from scratch!
— Émile

Coordinated the project structure. Set up reliable communication between the frontend and backend. Wrote scalable backend API structure with multiple endpoints, search queries and service methods. Set up Auth0 inside both frontend and backend layers, paying attention to settings.
— Kirill

Helped with the back-end using Spring Boot, JPA, Lombok, and JWT authentication, and most of them are new to me!
— Nabil

What we learned

I dove into React and Bootstrap for the first time — and came out with a working frontend I'm proud of!
— Émile

I learned to work with Auth0, exploring its powerful capabilities.
— Kirill

I have learned how to build a backend with Spring Boot, including how to handle REST APIs, use JPA for database interaction, and I like using the Lombok library.
— Nabil

What's next for Charity Match

We're just getting started! Our next goal is a full public launch, complete with a fully integrated donation system and real-time sourcing of charities from a trusted global database. We envision Charity Match becoming a go-to platform for people who want to make a meaningful impact effortlessly — connecting passionate donors with the causes that matter most.

Built With

Share this project:

Updates