More info: you can find an overview of that setup on my blog
- Simple webpage to validate an ID document and store result in CRM (pipedrive).
- KYC provider is fake for now.
- User need to provide a phone number, and an ID (passport).
- More info here.
- Hosting: firebase cloud
- Front: react
- Backend: firebase functions
- Authentification : firebase auth (tel + sms code)
- Storage: firebase storage to store ID
- Database: pipedrive CRM to store user phone + kyc result
- Code + CICD: gitlab.com (github is just a mirror)
User -> nodejs REACT @firebase -> login via tel SMS code firebase-auth -> Upload ID to firebase storage -> Use fake firebase function to check ID -> Store result in CRM pipedrive
- Create a new project in firebase
id-prod
, location default (US) - Activate auth (email + password)
- Activate storage
I can not (yet) run firebase function + code locally. Instead run npm and always deploy latest function to firebase cloud.
- Run code env:
npm start
- Build:
npm run build
- Deploy to firebase:
firebase deploy --debug
- Deploy only functions to firebase:
firebase deploy --only functions
- Go to app
- For auth, can use your mobile, or the test US phone:
1234567890
+ SMS code:123456
Because we don't have yet a KYC provider, result of KYC is fake and depends on file name of ID document. If file name start by:
0
: { id:0, status:true, message:'Id has been verified with success!' },1
: { id:1, status:false, message:'Bad quality or blurry picture' },2
: { id:2, status:false, message:'Document not valid, can not find mandatory information' },3
: { id:3, status:false, message:'Listed as a fake id on our server' }- Any other first letter will use case
3
- Just push code in master and it will get deployed!
- Setup tuto here
- Find real KYC sandbox?
- Store id document in pipedrive too?