General Solution

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.

Gen Solution Fall 2020: Header Screenshots

About Project

Gen Solution Fall 2020: About Screenshots

"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.

IMS Thumbnail

Our Client

Bits of Good

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.

Our Process

Product Scope

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.

Technology πŸ’»

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.

Design πŸ–Š

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.

Our Solution

Key Features

Address Autocomplete

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.

Gen Soln Fall 2020: Address Autocomplete

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.

Gen Soln Fall 2020: Valid Credit Card Checks

Our Team

Reflection πŸ’¬

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.

Chae Bin Park

Chae Bin Park

"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."

Prabhav Chawla

Prabhav Chawla

"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 πŸ™‚"

Matt Chen

Matt Chen

"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!"

Farouk Marhaba

Farouk Marhaba

"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!"

Neel Naik

Neel Naik

"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.

"Most biggest team. Most bestest team. General Solution."