Angel and I spotted a “Rent-a-Rider” flyer posted by the riding team and realized that there are a lot of student organizations who fundraise around campus. It led us to think about all the ways students try to earn or raise money starting from people trying to sell items on the marketplace or in Blanch, offering rides, or pet sitting. It also reminded us of the MHC Mutual Aid Instagram account which shares MHC students; gofundme links.
We also see people often impulsive spending money on goods that would eventually end up in their storage after one use. We don’t realize how many unnecessary products we buy until we’re surviving on ramen or moving things we hardly use to storage over the summer. Our goals were to help users tap into their network and reach their financial goals, facilitate mutual aid, reduce unnecessary spending, and promote sustainability.
After brainstorming ways to do all these more efficiently, we came up with our app “Cup of Sugar” that can tackle several of these challenges at once. Our app lets community members share their metaphorical “cup of sugar” with each other and help each other out.
What it does
“Cup of Sugar” is a one-stop platform that offers community members a variety of ways to fundraise: loan items they don’t use often, sell items (i.e. - handmade jewelry or buttons), offer services like rides or tutoring, or simply lend items for free in the spirit of mutual aid. Lenders/sellers can list whatever they are offering, goods or services in our main feed using the plus buttons - which asks for more information (picture, category and pricing) and puts that entry into our database. Borrowers/buyers can search for specific items as well as filter by category to find what they are looking for. Then, Borrowers/buyers can add everything that they need to their cart, add payment information, and checkout. At checkout, they are prompted to select a mutual aid of their choice that they want to contribute to. 25% of the transaction goes directly to the mutual aid, while the 75% goes to the buyer/lender’s account.
How we built it
We prototyped our app on Figma and used Canva for logo and designs.
We used Flutter to build the framework and Dart Programming language to create the web application interface. For the backend, we used firebase(Flutterfire) to enable user authentication, login and signup.
We also tried to implement a dynamic search function using Flutter, Bloc, and the Cloud Firestore database.
Challenges we ran into
We had a really hard time trying to get flutter to work on our machines. We spent the first day just trying to figure out what was wrong and even mentors were confused what the execution error was.
We tried to implement a search function that would allow users to search and filter for the specific items or services. We wrote the code and built the item database in Cloud Firestore but were unable to integrate it with the ui in time. We used git’s branch option to save the code in angel’s branch but did not merge with main.
Accomplishments that we're proud of
- We thoroughly thought through the user path, reframed the convention ecommerce design for a good cause, and came up with an excellent design.
- Each team member worked on full-stack development, working across the stack to build parts of the UI as well as implement and troubleshoot the backend functionalities (authentication, database creation, and implementing a search feature).
- We challenged ourselves to learn and implement advanced Flutter and Dart although two members of our team was using them for the first time this weekend.
- Our team collaborated effectively across a time difference.
What we learned
- Design patterns: How UI and backend functionalities are separated then integrated with Bloc in Flutter
- Flutter: We learned Dart, the programming language Flutter uses.
- Our challenge with getting Flutter to work taught us more working at the command line with paths and environment variables.
- Firebase: We learned how to implement user authentication.
- Databases (Cloud Firestore)
- We learned how to generate items for, organize, and build a database.
- More insights about Figma
- Git is super helpful to ensure consistency across a codebase if we follow best practices to streamline workflows.
- We learned about branching, how to revert merges to main, and got a better understanding of when to merge vs not to merge with main.
What's next for Cup of Sugar
Since this Hackathon is just 24 hours, we wanted to deliver an MVP. In the future, we want to continue working on it to add more functionalities such as users having ratings to indicate good borrower/lender history and an in-app texting feature so that users can communicate amongst themselves (i.e enquiring more about a service before booking).
We also want to fully integrate our backend including the search database, and keep records of the dates an item is being borrowed so that we can track when the item is available next, and put requests from users to borrow on a ‘ waitlist’. We also want to set up third-party payment using firebase to make the process of contributing to mutual aid more efficient overall.