bettersg / checkMate

GNU General Public License v3.0
5 stars 1 forks source link

Improve Onboarding flow #222

Closed sarge1989 closed 2 weeks ago

sarge1989 commented 7 months ago

Issue

The onboarding process should:

  1. Make sure they provide their name and whatsapp number, and validate the whatsapp number with OTP (this is already done today in webapp)
  2. Make sure they completed the Typeform quiz, potentially with a minimum score in future
  3. Make sure they joined the chatgroup with the rest of the checkers

Solution

  1. Move chatgroup to telegram, so we can rely on bots
  2. Use typeform webhook to check if they have submitted the typeform. PM me for typeform admin details. This one should be mandatory, i.e. if never submit cannot let them in.
  3. Use https://core.telegram.org/bots/api#getchatmember API to check if they have really joined the group. If not dont let them onboard. Alternatively we can do a softer approach of checking occasionally with a batch job and reminding ppl to join via bot messages.

Remarks

  1. Need to think though which elements of the onboarding flow is best done on webapp and which are best done via the bot itself.
scrumpdiddlyum commented 2 months ago

My view is that it might be preferable to do most of the logistical onboarding via the bot itself, especially if we're onboarding people from NLB SURE who might be less familiar with Telegram and the concept of a web app!

This would include things like getting their name, WhatsApp number and confirming that they've completed the Typeform and joined the Tele group. Also helps to encourage onboarding before introducing them to the web app. Easier for us to do troubleshooting when people come to us for help also - if they haven't reached the web app then they likely have not completed onboarding.