Inspiration

We all have friends who need to borrow certain items to avoid spending too much money on buying them. For example, they have borrowed calculators for tests, crutches for sprained ankles, textbooks for homework, and more. Seeing these repeated process of borrowing, we saw an opportunity for a solution that can mutually benefit both the provider and the borrower.

What it does

Mooch facilitates renting of items between college students. Using a Google login, a person can post an item that they aren't using on Mooch with a set availability, rate, and late fee. Another person who wants to use that item can find it in the app through searching with keywords and availability. They can then choose to rent the item, and the two people meet and an exchange of the item is made (with payment in cash or by venmo). The item must be returned by a set time and date (when the two people will meet again). If the return is late, the late fee is charged (per hour or day). A person can also post a request for an item with a description and availability, and this request joins a list of requests. People looking to make some money for little time and material cost can go to the requests list and give offers (rate, late fee, and availability) to the people with the requests.

How I built it

First, we discussed ideas of nuanced problems that we face today. We got to this idea shortly after and started a storyboard. We discussed our target market, their problem, and outlined each step of using the app, the inputs and outputs, and the different fees. After making sure our vision was sufficiently distinct from existing products, we split the work based on each of our strengths. One of us worked on writing the HTML for the webapp, another worked on developing the styles for the HTML, another worked on the javascript, and another worked on creating the backend for the data in PyMySQL. We communicated with each other a couple of times every hour to make sure we each knew what we were working on and how our work intersected. We storyboarded one more time while we were working on our project to determine exactly what information we had to pass to each other and how we wanted the user experience and interface to go.

Challenges I ran into

For the PyMySQL, one primary challenge I, Tony, ran into was not knowing what specific queries I needed to call for the app. After storyboarding and breaking down our process into the simplest steps, it was easier to see what different tables needed to be made and what specific queries had to be defined. I also ran into the challenge of figuring out how to connect the python program to the javascript. I had to spend a long time figuring out how to use flask but was ultimately unable to test the final implementation due to not having the javascript code to use. Our member working on the javascript was very busy this weekend so I would be spending a lot of time trying to figure out what he should do on his end to make it work with my end of the code because we'd have gaps of no communication.

I, James, have barely coded before and had to research how to use css's functions. I spent an exceptional amount of time trying to position pictures, texts, and columns.

Accomplishments that I'm proud of

I'm proud that we were able to come up with a product that tackled a problem that we've all seen in our communities. I'm proud that we were able to succinctly define how the product would work. I'm proud that our program is not simply a means of capitalizing off of a need, but a way of mutually benefiting two parties. I'm proud that we all learned a lot about different parts of computer science that we had very little knowledge of going in. I'm proud that we were able to have so much fun this weekend while also learning a lot.

What I learned

I learned how to use css relative to html, and how to add attributes to elements.

I learned how to use PyMySQL to develop mysql databases and queries using python. I also learned the importance of storyboarding and detailed design for understanding what to do and where improvements and features can be added.

What's next for Mooch

We need to create a javascript frontend to display lists, search results, and for authentication. We also need to complete the design of the HTML and CSS.

Some features we would like to add are a recommendations system for items, a rating system for lenders and borrowers, and a way to directly connect a bank account to hold users accountable.

Built With

Share this project:

Updates