Professionals in the world need to connect and work together in order to pursue their career goals. Business cards have always been a critical part of creating connections and partnerships, but they are insubstantial, easily lost, and easily forgotten. To solve this issue, my team developed QaRds.
What it does
QaRds stores business cards programmatically instead of physically. Users can generate their own business cards in the app as well as a QR code associated with it. Other users can transfer the business card to their own app by scanning the QR code. The cards have important info on them such as names, emails, websites, and occupations, and users can upload their profile picture on them.
How we built it
We set up table views to store the business cards in. We store the data in Parse. By using QR software, we link a QR code for each card to its ID in Parse and pull all the data out through that method. To make sure that the business cards for a user do not automatically wipe out upon exiting the app, we store the scanned card ID's in Realm so that we have a persistent data source.
Challenges we ran into
Generating a unique QR code in-app proved to be something that none of us had ever encountered before. We had to learn a lot of QR coding in order to make QaRds function. Additionally, we were split between using Core Data as a persistent data source or using Realm. Upon attempting Core Data and finding many bugs, we ultimately decided to implement Realm for this project.
Accomplishments that we're proud of
My team and I are very proud of not giving up in the face of failure. For a long, tedious period of time, our progress seemed to be getting nowhere, even regressing at times. We seriously considered giving the project up. However, we motivated ourselves and persevered, resulting in us fixing every issue we had with our project. One aspect of QaRds that we have immense pride in is the dynamic QR code generator. We had to program creatively and efficiently, and in the end, the accomplishment was worth the effort.
What we learned
We learned how to better analyze our code for errors. Instead of looking at a superficial level, we learned how to consider every aspect of the programs and follow the trail of the error. Another idea we realized was that there are multiple ways to approach a problem, such as our choice in persistent data storage. Each way has its strengths and its flaws, and it takes a resourceful programmer to recognize which one is best suited for his or her interests.
What's next for QaRds
QaRds will continue to be improved with new features and updates. It will explore methods other than QR scanning to transfer business cards, such as showing active business cards within a proximity of the user. It will also implement the ability to transfer business cards without needing the app downloaded.