Nowadays, people love using Debit/Credit Card for payment. However, some of our teammates' cards have been stolen for multiple times. What is more, it is noticed that when we are shopping online, most of the websites require users to sign up, and fill in credit card information every time in order to finish the transaction. As we can see, shopping with Debit/Credit Card can be insecure and inconvenient.
What it does
Customers just need installing our app, to sign up for our service, that is registering with the card information and the like (which will not be shown in the server for secure).
After that, whenever customers try to finish their payment, instead of signing in to that website and enter all the card information again, they just need to scan the QR code (through our app) provided by the site, then the app would display your transaction details and ask you for your fingerprint. After verifying the fingerprint, the transaction is completed. So for every transaction, as long as customers have logged in our app, they just need to scan the code and tap their fingerprint, then the transaction is finished. No need for any logging in to different sites and entering lengthy card information.
For the how will the money be processed, instead of addressing by our service, we will pass the data to companies like PayPal which are more trustable for the user.
How we built it
We first had an idea that how to improve current paying system, then we wrote a lot of flow charts to build the algorithm. After that, we used Andriod studio and React Native to build the app, and HTML, CSS, jQuery for the demo site. We have used some libraries such as the QR code scanner, fingerprint scanner, and we made good use of the data that the sensors gathered, to output some useful results for the user (such as recent transaction).
Challenges we ran into
At first, the process was supposed to be: the customer just need to click a link in the browser, then the app would pop up automatically on the phone. However, that technique seemed to be too advanced and it was not possible to implement it in just 21 hours, so we adapted using QR code to evoke our app (the fingerprint verifier) instead.
Also, we tried our very best to build our own database for Android, but it was out of our expectation that building a database for Andriod was way more difficult and different from building one for a website, which wasted lots of time of our team. Fortunately, we found a free database online for us to upload our site on the Internet.
Accomplishments that we're proud of
We think it is remarkable that we can finish an app within 21 hours because even though some of us have Andriod app development experience before, it is still challenging for us, from thinking of an idea to finish the product in such a short period. Also, we are really proud of the collaboration of our team. We have tried our very best to finish the app and the site, and some of us even did not sleep for nights. This would be one of the most unforgettable events in our life.
What we learned
For the mechanism, we did learn a lot in terms of the knowledge of database, Andriod and app development. Some of us have never used Android Studio before, but still, we learned the basic in a few hours and tried our best to implement our ideas. Besides the technical skills, we learned how to work as a team and manage the time. At first, we did not we should we do, and focused the time on wrong things such as wrong techniques. However, after we have gotten more and more familiar with our topic and teammates, we developed things faster and communicated better (such as we are more strongly connected when we used collaborative techniques like GitHub)
What's next for Yoyo Pay
Yoyo Pay would be a bridge for companies like PayPal which are more trustable for the user. Besides for payment services, the QR code and fingerprint scanning techniques can be further used for login in to different platform (email, even for unlocking doors of buildings)