Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement feedback form #83

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

aetizazsameer
Copy link

This change adds a feedback form to the GuidescanPy web app. This is accomplished internally via a backend Google Form which handles the submission and storage of responses. The form supports different kinds of feedback (general feedback, feature requests, and bug reports for users without GitHub accounts to raise issues there). This is the first in a series of pull requests related to Guidescan visualization as a university independent work project. Dr. Pritykin will reach out with some additional context.

Screenshot attached:
image

@vineetbansal
Copy link
Collaborator

@aetizazsameer - thanks for the code.

I'm curious though - wouldn't it be easy to simply add a link to an external Google form? If we're not going to be adding the data to our own internal database (which would have been my preferred option) and are going to be relying on Google Forms, why bother with creating our own replica of the Google Form at all?

@aetizazsameer
Copy link
Author

aetizazsameer commented Nov 6, 2024

@vineetbansal Thanks for the quick response! It definitely would be easy to link or embed a Google Form.
The motivation for instead taking this approach comes from Dr. Pritykin's suggestion to connect feedback form results to a Google Sheet for out-of-the-box filtering through responses. (It might seem counterintuitive to link the feedback form to Google Sheets via a Google Form rather than directly, but this keeps the form structure similar to other pages on the site, and avoids the subscription-based alternative of using the Google Sheets API).
The other main benefit of creating a replica of the Google Form rather than linking to it directly is that the form can be extended to instead send data to the internal database (without writing the whole form from scratch), especially now that I'm aware that this would be preferred.

@vineetbansal
Copy link
Collaborator

@aetizazsameer - I can see the benefit of Google Forms if we didn't want to maintain our own databases, but by necessity of the way guidescan works, we are anyway, so its best to leverage that (and its a minor lift to add any new tables that we want, like the feedback stuff here). I'm fine with creating read-only users for any new tables we add so that we can view/sort/filter any new tables we add (whatever access mechanisms you were envisioning for Google Forms can be implemented for these tables as well).

In the end, I don't want to offshore anything to Google if we don't have to.

If I create a new table, would you be willing to tweak the code to save stuff in our our db? I can also provide sqlalchemy classes (and a sample barebones input page that you can build on), but I have a feeling you might prefer to do all that yourself, given that this is an independent project.

@aetizazsameer
Copy link
Author

aetizazsameer commented Nov 7, 2024

@vineetbansal That reasoning makes sense to me -- I can make changes accordingly, though I would appreciate the sample page so I can be confident that the form aligns with what you have in mind (and to avoid needing to make larger changes later on). Thanks for the input!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants