Being college kids, hosting events is a nightmare when it comes to money and budgeting for events. It's always someone saying they'll pay you later in cash, or the more famous,"I'll venmo you whenever I can". Keeping track of who's contributed or hasn't has been a hassle for us for far too long, and that there was a need to create something that proves accountability in a group setting.
What it does
Users enter a room and make a payment that sums up to a total pool, in which the admin of the room would be able to withdraw. There is also a list of the participant of the group, which shows who has paid, and who hasn't.
How we built it
We have an API built in nodejs and websockets that listens and emits events, as well as saving users to a mongodb collection. To showcase, we built a client in HTML,CSS, JQuery, and Bootstrap that has a login and room page.
Challenges we ran into
The largest challenge we ran into was working with Web sockets(Carlos's Case), as well as basic front end work(Diego's Case), as we weren't too familiar with the respective technologies ourselves.
Accomplishments that we're proud of
Diego: I was able to contribute more to the team than I thought. I was able to build the front-end of the program working with html and css which is the first time for me in a real application. I enjoyed being able to learn as much as I did because that was the goal of going to this event.
Carlos: I am proud of managing to create an API that can work with any client on any platform, as well as being able to set a client-side for proof of concept alongside the API. I am also proud of the fact that we were able to tackle such a large project with such a small team size, being only two college freshmens, it would've been very easy to just simply drop the project, however, we persisted and managed to be able to showcase a minimal viable product.
What we learned
Diego: I learned quite a bit since this was my first hack-a-thon. I learned how to use git, html/css, nodeJS, and express which I had no knowledge of before this hack-a-thon.
Carlos: I learned how to design an API that focuses on event listeners and event emitters(Using websockets). I also learned time management and project management for the project.
What's next for Mangrove
Mangrove requires some serious improvements! Specifically creating links that allow users to enter a room via unique idea, as well as using payment APIs to be able to make and withdraw payments.