shabados / presenter

Desktop app for presenting the Shabad OS Database on projectors, TVs, and live streams

Home Page:https://shabados.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Investigate flow and services for user feedback

saihaj opened this issue · comments

Is your feature request related to a problem? Please describe.
If end user is reporting an issue it usually is done via Slack or WhatsApp. Then someone from teams needs to get that issue on Github. It would be nice to have the users report issues directly from the app.

Describe the solution you'd like
Having in-app feature that can let users file issues.

Some challenges

  • GitHub requires the users to be authenticated and not all of our users have GitHub accounts.

We can try make two bots one isShabadOS-Issue-Bot which can be used in our apps to file issues on behalf of users. This bot will not be part of organization because of security concerns. We give it access to specific repo instead (see next point). Other one is ShabadOS-Triage-Bot whose purpose will be to move around issues in various repos.

  • How to avoid spam in issue trackers?

I suggest that we create a new repository and all the issues are opened by the ShabadOS-Issue-Bot. We can have some fields in issues that will be filled automatically by the Bot before filing the issue. Then ShabadOS-Triage-Bot who has Triage rights will put specific labels which will help us in automation tasks.

  • How to avoid duplicate issues?

ShabadOS-Issue-Bot can query GH API so we can do some logic to on client before they can file issue. This will work better if all our issues in one repo as I suggested. But there will be times when issue has be triaged to designated project repo by the ShabadOS-Triage-Bot in those cases it will require us to run 2 queries, one in issue tracker repo and other in project related repo. GitHub puts rate limits on
public API and this can be expensive if we get so many users trying to spam. But then how likely is this?

  • Automating Triage Process

ShabadOS-Triage-Bot should have triage rights in organization and this bot is just for is just for automation purposes similar to @shabados-bot . @bhajneet and I tried working on SOS Bot Triage action for database to automate review process and one of the many issue we faced was - not having the ability to run GH actions for multi repos read this slack thread for more issues. I think with this approach we can handle many issues I listed in that thread.

  • Other ways to solve this?

We can also make a service (serverless function) using Azure function/AWS Lambda/GCP that will be more secure than this way and we have many other benefits like we don't reaching GH api rate limits because we can hook up to our own DB (Azure Cosmo's, Firebase's or FaunaDB's free tier should suffice our needs) to store issues as references and then we can search in that instead of calling GH API. I think with this approach we can scale very well compared to if we just use GH api approach. But do we need a micro service handling all this or GH API is sufficient for us?

Additional context