Think how shameful was for the poor Patrick Bateman, the American Psycho, when he found out that his business card, was not that good as he thought. This simple android phone application aims to avoid these situations, by providing a digital business card wallet.
The application has the following functionalities:
- make an account and keep your credentials secure using Firebase Authentication
- sync your data across every device using Firebase Firestore
- allows you to decode others Business Card using a QR code scanner
- allows you to send you Business card as an QR code image
- allows you to read a Business card from a image containing an QR code
- allows you to print the QR code associated with your Business card
- manage a contact list and search through them
- check your contacts business card
- change your info or delete your account
The following is a brief guide on how the project works. The structure will be explained during the presentation.
BusinessCardWallet
│
├── AuthenticationActivity
| ├── LoginFragment
| └── RegisterFragment
│
├── MainActivity
| ├── BusinessCardFragment
| └── ContactListFragment
│
├── ContactInfoActivity
| └── BusinessCardFragment
│
├── SettingsActivity
| ├── SettingsFragment
| ├── EditAccountFragment
| └── EditUserFragment
|
└── CustomScannerActivity
The AuthenticationActivity
is a container for the Login
fragment and the Registration
fragment.
Once the user has authenticate is redirected to the MainActivity
which will retrieve the user updated data (user info and his contact list) and display them
through a tab layout, consisting in an BusinessCardFragment
and a ContactListFragment
.
The QR codes is given by an AES encrypted json string, containing an user data. The CustomScannerActivity
takes care of decrypting and
decoding the data, which are then used to save the user to the contacts and display his business card. Once displayed, the user can interact with the
contact's business card info by tapping on them (for instance it will start the phone dealer when tapping on the contact phone number).
The logged user can change his information (both of the account and of the business card) by using the SettingsActivity
and its fragments.
From here he can also change the appearance of the application, log out or delete his account.
The application uses some external API: