A platform that connects volunteers and donors to non-profits both locally and nationally, and provides the tools that enable non-profits to manage volunteer opportunities and donations.
"General Solution" is a platform that connects volunteers and donors to non-profits both locally and nationally. The platform allows users to find nearby nonprofits, learn more about their missions, find relevant volunteering opportunities, and support their favorite nonprofit organizations financially. This platform will be available for all nonprofit organizations around the country, allowing theses NGOs grow their volunteer base, available funds, and overall organizations. For this semester, we focused on creating the home page, volunteer management system, and donation processing system.
This project does not belong to a single nonprofit, but rather it is a platform consisting of many nonprofits. In the beginning, we are planning to onboard nonprofits that Bits of Good has already worked with in the past. Then, we will transition and open the platform up to new organizations.
Client Goals 🥅
Our clients (nonprofit organizations) aim to inform the public about their organization, manage volunteer events, and manage online donations.
End-User Goals ⚽
Our end users (general public) aim to use this platform to learn about local nonprofit organizations, engage in rich volunteering opportunities, and easily donate to their favorite organizations.
Our main tech stack consists of Next.js + MongoDB. We embraced TypeScript for both front-end and back-end code and used Mongoose as a layer of abstraction over MongoDB. We rely heavily on Next.js' build-time static generation of pages and even experimented with some newer parts of the framework, like incremental regeneration. Highly dynamic pages of our app utilize server-side rendering. Some cool things we did include in-memory caching of query results, generic implementation of a paginated list component, use of URL query parameters as means of storing and updating filter state, etc.
Over the summer, we were able to work on a design system for the platform, called Horizon. This semester, the design team focused on building out the Donor and Volunteer experience and Admin experience for our product. On the admin side, a lot of progress was made on finalizing the information architecture as well as how the specific features that admins wanted (donation management and member management) might look across the platform. On the donor and volunteer, we were able to produce high-fidelity designs on the user-end that were able to be put into production. Designers also worked on improving the donation flow, including a discovery feature, and being able to filter through individual non-profits and events.
In the second step of the donation process (putting in billing information), users can use the autocomplete feature to type out their billing address, as opposed to filling out entries manually.
Valid Credit Card Checks
If an invalid credit card number is inputted, an error will be displayed informing the user of the mistake. The user must provide a valid credit card number before proceeding.
General Solution presented a unique opportunity to all of us, being our first big internal push to integrate all of the work that's been done in past semesters with VMS, IMS, and DMS into one mega-platform. We also had 30+ people all working on this one project, so consistent communication and planning meetings was much more challenging than on a smaller project team. However, because we were such a big team, our ability to create impact was bigger. This work will be integral to future semesters' work and hopefully provide the bedrock for our vision for an integrated platform to serve non-profits.
"With the semester both being remote and cut short and the added factor of General Solution being the biggest team we have (by a large margin) I'm genuinely surprised at how well we managed to stay motivated and complete our work this semester! And even though the product may be far from finished, it was rewarding to be able to work on a team with such talented people on a project with a lot of social impact."
"I am extremely proud of what the entire team has accomplished! I enjoyed helping and guiding other developers this semester and I hope that BoG can pilot the General Solution with non-profits next year 🙂"
"I had lots of fun working on General Solution this semester! Not only was I able to work on a product that will aid all types of nonprofits for the years to come, but I learned a lot about topics I had little background in!"
"Since a traditional Bits of Good team deals directly with a nonprofit client, it was interesting to work on a project that was intended for multiple organizations. I'm looking forward to seeing this project grow, launch, and pivot based on user feedback!"
"My experience working on General Solution has been nothing short of amazing! I have had the opportunity to work with some incredibly driven people to work on building a product that will help non-profits for the foreseeable future."
"Most biggest team. Most bestest team. General Solution."