For a lot of us, ATMs seem to be far away when we need them the most. People who are serviced by local banks often can't find familiar ATMs to withdraw from if they can find one at all. For the 3 of us personally, we are tired of paying extra fees and borrowing money from friends. We'd like to get the cash we need when we need it. That's why we thought of creating a peer-to-peer ATM system that matches receivers and tellers to each other based on location and price, all thanks to Capital One and Google's API.
What it does
Allows users that need close cash to match with tellers that are ranked in a list based on location and amount of cash on hand. The application consists of a receiver and teller interface, your most recent transaction, and a ranked search for the closest teller.
How we built it
The app was built using Node.js/MongoDB in the backend and ReactJS in the front end. We utilized Capital One's API to create and use customer ids to make transactions in the application. Additionally, we used the Google Maps API to find a users location for the searching and ranking algorithm. Lastly, we made heavy use of Passport.js, Sessions, Cookies, and Axios to secure user data and communicate between multiple servers.
Challenges we ran into
Initially, we planned for too many features and we're heavily stressing over getting it all done. After innovating and figuring out what features really matter, we were able to spend more time on debugging big issues and developing a robust system. Some of the big technical problems we faced had to do with sending Cookies and Sessions from the back-end to the front-end, learning ReactJS for an elegant UI, and interacting with both the APIs we used.
Accomplishments that we're proud of
For a team of 3 younger developers, we felt like we were able to be competitive and efficient in our efforts to create a full product. Despite some of our really tough technical problems, we were always able to overcome and find a solution through perseverance. Additionally, not fully knowing each other beforehand, our team built great team culture and worked flawlessly with one another.
What we learned
We learned a ton about MERN stack development and working with a separate front-end and back-end server. Most of our project consisted of technologies we had never used before such as ReactJS, Google Maps API, Capital One API, Sessions, Cookies, Axios, and other JS packages.
What's next for CloseCash
We'd like to expand on our straightforward system and create more customization and options for our users. Obviously, in the world of financial services, user and data privacy is to the utmost importance to us. Moving forward, we'd like to never compromise on that principle with whatever features we decide to add.