Firebase: your first app (ID verifier)

September 04, 2019 in #firebase #javascript #ID #KYC | | | Share on Google+

Firebase: a powerful infra & service provider

Ever thought of prototyping an idea in a minimum time, e.g. running a simple webpage in the cloud where colleagues or clients can access for review.

Enter Firebase:

  • Hosting: easily deploy some JavaScript code to a managed cloud server, in one command
  • Functions: same, but for the backend code
  • Auth: don't bother developing from scratch signup & login via email or SMS, Firebase have all code available to manage powerful authentication
  • Database, Storage: Firebase provide you an easy to use cloud database, and storage (S3 like) for your app to connect
  • All of these for free! if you do not reach the daily limit (which are fine for a demo for 10 users)

Goal

Create a simple ID verifier app, where customer input an Identification Document (passport, driving license), and backend will validate/reject it, and will record the result in a CRM.

Functionalities

Each user is unique: user validates his phone number (unique key) with SMS code, using Firebase-auth.

Validate ID: user inputs his passport, waits a few seconds then a result (OK / error) is displayed. For prototyping, our backend code (a simple Firebase-function) will fake the validation. Later we could use Jumio or Trulioo.

Record user data: user information (phone, KYC status) is recorded in an external CRM: Pipedrive.

App workflow

1) Validate user phone using Firebase-auth

2) The UI snippet from FirebaseUI provides an efficient UI with captcha

3) Code is received by SMS

4) User can upload an ID for verification

5) Backend server detects ID as a fake one

6) ID is successfully verified

7) User is recorded in CRM (we could have used Firebase-database, but Pipedrive offers lots of other CRM functionalities)

Conclusion

I am really impressed by Firebase ease of use, hiding the complexity of infrastructure and offering services like authentication, database or storage, for free!

CI-CD is so straight forward: you just have to tell which Firebase project you want to deploy to firebase use $project, then deploy to the cloud with firebase deploy.

Next steps:

Thank you for reading :-) See you in the next post! Greg

September 04, 2019 in #firebase #javascript #ID #KYC | | | Share on Google+