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

Create classes feedback motivation page #314

Open
wants to merge 73 commits into
base: master
Choose a base branch
from

Conversation

andreicmirciu
Copy link
Member

Add a feedback motivation page when a form is being accessed, so that users have more insights on how the data provided by them is actually handled and processed.

# Conflicts:
#	lib/generated/intl/messages_en.dart
#	lib/generated/intl/messages_ro.dart
#	lib/generated/l10n.dart
#	lib/l10n/intl_en.arb
#	lib/l10n/intl_ro.arb
# Conflicts:
#	lib/pages/classes/view/class_view.dart
# Conflicts:
#	lib/generated/intl/messages_en.dart
#	lib/generated/intl/messages_ro.dart
#	lib/generated/l10n.dart
#	lib/l10n/intl_en.arb
#	lib/l10n/intl_ro.arb
# Conflicts:
#	lib/generated/intl/messages_en.dart
#	lib/generated/intl/messages_ro.dart
#	lib/generated/l10n.dart
#	lib/l10n/intl_en.arb
#	lib/l10n/intl_ro.arb
#	lib/main.dart
#	lib/pages/class_feedback/model/class_feedback_answer.dart
#	lib/pages/class_feedback/service/feedback_provider.dart
#	lib/pages/class_feedback/view/class_feedback_view.dart
#	lib/pages/classes/service/class_provider.dart
#	lib/pages/classes/view/class_view.dart
#	lib/pages/classes/view/classes_page.dart
#	lib/pages/timetable/view/events/add_event_view.dart
#	lib/pages/timetable/view/events/event_view.dart
#	test/integration_test.dart
@acs-upb-mobile-bot
Copy link
Member

acs-upb-mobile-bot commented Oct 9, 2021

3 Warnings
⚠️ Missing en-GB changelog entry at android/fastlane/metadata/android/en-GB/changelogs/10040.txt
⚠️ Missing en-US changelog entry at android/fastlane/metadata/android/en-US/changelogs/10040.txt
⚠️ Missing ro changelog entry at android/fastlane/metadata/android/ro/changelogs/10040.txt

If this is a trivial change that doesn't warrant a test or changelog entry, you can mark it as #trivial in the PR title.

Generated by 🚫 Danger

@@ -305,6 +307,13 @@
"messageAlreadySeeingCurrentWeek": "You're already seeing the current week!",
"messageReportSent": "Report sent successfully.",
"messageReportNotSent": "Report could not be sent.",
"messageFeedbackMotivationOverview": "Share your experience so future generations of students will receive statistics about this class!",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"messageFeedbackMotivationOverview": "Share your experience so future generations of students will receive statistics about this class!",
"messageFeedbackMotivationOverview": "Share your experience so future generations of students will know what to expect!",

@@ -305,6 +307,13 @@
"messageAlreadySeeingCurrentWeek": "You're already seeing the current week!",
"messageReportSent": "Report sent successfully.",
"messageReportNotSent": "Report could not be sent.",
"messageFeedbackMotivationOverview": "Share your experience so future generations of students will receive statistics about this class!",
"messageFeedbackAspects": "Key aspects we take into account:",
"messageFeedbackMotivation1": "Your data and privacy are respected. We do not report individual responses, but these are aggregated, thus an opinion cannot be associated with a particular profile.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"messageFeedbackMotivation1": "Your data and privacy are respected. We do not report individual responses, but these are aggregated, thus an opinion cannot be associated with a particular profile.",
"messageFeedbackMotivation1": "Your data and privacy are protected. We do not report individual responses, but these are aggregated, thus an opinion cannot be associated with a particular profile.",

"messageFeedbackAspects": "Key aspects we take into account:",
"messageFeedbackMotivation1": "Your data and privacy are respected. We do not report individual responses, but these are aggregated, thus an opinion cannot be associated with a particular profile.",
"messageFeedbackMotivation2": "Information shared will be kept in our database for at least 4 years (study duration of a Bachelor's degree), so the evolution over time can be observed.",
"messageFeedbackMotivation3": "Access to statistics is allowed to any student who wants to find out impressions about a class during the semester. However, while the opportunity to share your feedback is active, only students who have already expressed their opinion can analyze the ideas of others.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

much word, few meaning

Suggested change
"messageFeedbackMotivation3": "Access to statistics is allowed to any student who wants to find out impressions about a class during the semester. However, while the opportunity to share your feedback is active, only students who have already expressed their opinion can analyze the ideas of others.",
"messageFeedbackMotivation3": "Anyone can access the form results. However, while the feedback forms are open at the end of a semester, you need to complete a form before being able to see the results.",

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But to the actual meaning of this, I see some issues:

  1. the stats are not available now, so either hide this part until they are, or let's merge this after we merge the stats thing; otherwise it's misleading
  2. regarding the second part of this sentence -- this can be a bit weird.What if it's a class I didn't take? Why shouldn't I be able to see the result? There are two things to consider doing here imo:
    • if the user has the class added but they didn't submit feedback, they can't see the results
    • users should still be able to browse classes they don't have, so we want to add another variation of the classes page where you can see all classes (with categories, like on the add classes page). This is kind of related to this TODO as well, and should be very easy to do since we already have a ClassList widget.

"messageFeedbackMotivation1": "Your data and privacy are respected. We do not report individual responses, but these are aggregated, thus an opinion cannot be associated with a particular profile.",
"messageFeedbackMotivation2": "Information shared will be kept in our database for at least 4 years (study duration of a Bachelor's degree), so the evolution over time can be observed.",
"messageFeedbackMotivation3": "Access to statistics is allowed to any student who wants to find out impressions about a class during the semester. However, while the opportunity to share your feedback is active, only students who have already expressed their opinion can analyze the ideas of others.",
"messageFeedbackMotivation4": "The whole process of collecting and displaying reviews is transparent. Being an open-source application, source code is accessible to everyone.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A link to the repo would make sense here. You have a few options for styling a link:

  • RIchText
  • Markdown (we're already using flutter_markdown on the FAQ page)
  • something similar to what we have on the settings page, with IconText

"messageFeedbackMotivation2": "Information shared will be kept in our database for at least 4 years (study duration of a Bachelor's degree), so the evolution over time can be observed.",
"messageFeedbackMotivation3": "Access to statistics is allowed to any student who wants to find out impressions about a class during the semester. However, while the opportunity to share your feedback is active, only students who have already expressed their opinion can analyze the ideas of others.",
"messageFeedbackMotivation4": "The whole process of collecting and displaying reviews is transparent. Being an open-source application, source code is accessible to everyone.",
"messageFeedbackMotivation5": "We are constantly looking to improve the connection between different generations of students. As a result, any thought is extremely valuable. All the details supplied are used pro-actively.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think proactive means what you think it means (and also, it's one word). I'd remove this entire part, I don't see the purpose.

@@ -305,6 +307,13 @@
"messageTalkToChatbot": "Vorbește cu Polly!",
"messageReportSent": "Reposrt sent successfully.",
"messageReportNotSent": "Reposrt could not be sent.",
"messageFeedbackMotivationOverview": "Împărtășiți-vă experiența, astfel încât generațiile viitoare de studenți să primească statistici despre această materie!",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"messageFeedbackMotivationOverview": "Împărtășiți-vă experiența, astfel încât generațiile viitoare de studenți să primească statistici despre această materie!",
"messageFeedbackMotivationOverview": "Descrie-ți experiența, astfel încât generațiile viitoare de studenți să știe la ce să se aștepte!",

"messageFeedbackAspects": "Aspecte cheie pe care le luăm în considerare:",
"messageFeedbackMotivation1": "Datele și confidențialitatea ta sunt respectate. Nu colectăm răspunsuri individuale, ci acestea sunt agregate, astfel încât o opinie să nu poată fi asociată cu un profil anume.",
"messageFeedbackMotivation2": "Informațiile partajate vor fi păstrate în baza noastră de date timp de cel puțin 4 ani (durata studiului ciclului de licență), astfel încât să se poată observa evoluția în timp.",
"messageFeedbackMotivation3": "Accesul la statistici este permis oricărui student care dorește să afle impresii despre o disciplină în timpul semestrului. Cu toate acestea, în timp ce oportunitatea de a împărtăși feedback este activă, numai studenții care și-au exprimat deja opinia pot analiza ideile altora.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"messageFeedbackMotivation3": "Accesul la statistici este permis oricărui student care dorește să afle impresii despre o disciplină în timpul semestrului. Cu toate acestea, în timp ce oportunitatea de a împărtăși feedback este activă, numai studenții care și-au exprimat deja opinia pot analiza ideile altora.",
"messageFeedbackMotivation3": "Oricine poate accesa rezultatele. Totuși, atunci când formularul de feedback este deschis la finalul unui semestru, doar studenții care l-au completat pot vedea rezultatele.",

Image.asset('assets/illustrations/undraw_review.png'),
),
),
const SizedBox(height: 15),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make a list of pairs of icons and strings and do a forEach or .map or something, there's too much code duplication here

@@ -1508,6 +1509,19 @@ Future<void> main() async {

expect(find.byType(ClassFeedbackView), findsOneWidget);

await tester.tap(find.byIcon(Icons.arrow_forward_ios_outlined));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proud of you for having the habit of adding tests 🙏🏼

Comment on lines +1513 to +1516
await tester.pumpAndSettle();
await tester.drag(
find.byIcon(Icons.timeline_outlined), const Offset(0, -300));
await tester.pumpAndSettle();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this for?

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.

3 participants