Giter VIP home page Giter VIP logo

web's People

Contributors

beamb avatar bwesth avatar darinkagm avatar eleonora-k avatar emmategl avatar fribl avatar gullenp123 avatar igawaclawska avatar majapetersen avatar mariatim avatar mircealungu avatar saratolstruphusum avatar tfnribeiro avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

web's Issues

fix the two buttons at the end of exercises

image

  • "back to reading" is not centered in the button.
  • they are aligned center page while words are to their left
  • "more exercises" - sounds like it might be interpreted as "other exercises" while instead it means "one more round of exercises"

add a show-solution button?

looking at the past user interactions, it seems that there were 600 times when the users have selected this option in the past (when it was present).

I wonder if we should add it back in.

tagging @SaraTolstrupHusum for her teaching expertise :)

add getReadingSessions endpoint

"getReadingSessions" object should include:

  • readingSession (date),
  • title of article,
  • articleID,
  • article length,
  • article level,
  • time spent on reading the article,
  • a list of translated words in sentences with translations and isExercised boolean depending on duration.

api.getReadingSessions(studentID, cohortID, duration) - returns a list of "readingSessions" objects of what reading sessions the student has completed within the time period.

improve the exercise feedback options + add editing possibility

based on mircea's practice, they seem to be missing:

  • I learned/know this already!
  • bad translation
  • I'm not sure about this...

Bad_translation was actually used 91 times in the past... when it was a possible feedback option

  • one thing that might be great actually, is to allow the learner to "update" the translation if they know it is wrong and they want to fix it!

Warnings that we should remove

src/teacher/DeleteTextWarning.js
Line 11:9: 'history' is assigned a value but never used no-unused-vars

src/teacher/StudentInfoLine.sc.js
Line 2:20: 'lightGrey' is defined but never used no-unused-vars

Extract Logic Into Own Hook

Could this be the first specialized hook from Zeeguu-React? :)

import LandingPage from "./landingPage/LandingPage";
@@ -28,13 +28,25 @@ function App() {

  const [uiLanguage, setUiLanguage] = useState(LocalStorage.getUiLanguage());

  useEffect(() => {
    const uiLang = LocalStorage.getUiLanguage();
    if (uiLang === undefined) {
      LocalStorage.setUiLanguage({ code: "en" });
    }
    setUiLanguage(uiLang);
  }, []);

  useEffect(() => {
    if (uiLanguage !== undefined) strings.setLanguage(uiLanguage.code);
  }, [uiLanguage]);

font should be slightly smaller

I have the impression that it's quite large by default on a laptop screen.

On my MacBook Pro 13' the article page looks like:

image

zooming out to 80% looks already a bit better:

image

modify delete_own_text and /remove_cohort/${cohortID} endpoints

Teacher should be able to delete texts without first unattaching classes and vice versa.

So, the two endpoints need to be modified to allow removal of classes and texts without the need of unattaching texts from classes and classes from texts: "delete_own_text" and "/remove_cohort/${cohortID}".

instructions on how to add voices for text-to-speech

Some OSes like OS X come with a bunch of voices for text-to-speech preloaded.

On some others, e.g. Microsoft, only English text-to-speech support is present by default.

If the absence of the appropriate support for the learned language is detected, a popup could inform the learner about the steps they can take to add that support.

Steps for Windows are straightforward (verified by Mircea)

Some more detailed steps on StackOverflow (including explicitly downloading TTS)

Min y-axis for user dashboard

@mariatim

we've talked about this, but i'm adding it here, so it's in writing:

  • the user dashboard graphs should have some minimum default y-axis. e.g. for daily it should be 15min, for weekly should be 60, and for monthly should be 300 or something like that. otherwise we end up with these huge bars that represent 2min. it feels wrong.

or at least it feels wrong for me. what do you think @mariatim ?

image

Feedback always seems to come from the same exercise type

At least in Exercises.js the source of feedback is always Recognize_L1W_in_L2T as in the snippet below. Must check if feedback is uploaded in other places in the code too.

function stopShowingThisFeedback(reason) {
    moveToNextExercise();
    api.uploadExerciseFeedback(
      reason,
      "Recognize_L1W_in_L2T",
      0,
      currentBookmarkToStudy.id
    );
    setShowFeedbackButtons(false);
  }

show teacher info in class

I just realized that Sara was not aware of the fact that teachers can share classes.
I guess the first step towards righting that wrong is to update the class info with the list of current teachers.
to support this I've updated the cohort_info endpoints with info about teachers.
/cohort_info returns now a teachers_for_cohort list that looks like this:

{
"cur_students": 20,
"declared_level_max": 10,
"declared_level_min": 0,
"id": "121",
"inv_code": "dui1",
"language_name": "German",
"max_students": 21,
"name": "4H dui1",
"teachers_for_cohort": [
    {
        "email": "[email protected]",
        "user_id": 123,
        "name": "Berti",
    },
    {
        "email": "[email protected]",
        "user_id": 124,
        "name": "Maria",
    }
]

}

Warnings to remove in the userDashboard

src/userDashboard/UserDashboard.js
Line 88:6: React Hook useEffect has a missing dependency: 'api'. Either include it or remove the dependency array react-hooks/exhaustive-deps
Line 106:6: React Hook useEffect has a missing dependency: 'api'. Either include it or remove the dependency array react-hooks/exhaustive-deps
Line 114:7: Imported JSX component UserDashboard_Top must be in PascalCase or SCREAMING_SNAKE_CASE react/jsx-pascal-case

modify delete class and texts endpoints

Two endpoints need to be modified to allow removal of classes and texts without the need of unattaching texts from classes and classes from texts: "delete_own_text" and "/remove_cohort/${cohortID}".

get_bookmarks_to_study is called too many times

it's called three times for the first exercise:

image

also, if I arrive at the end, and I start another session I get really strange behavior :(

i.e.

  • the second exercise (multiple choice) ends up changing options live - after wait, it's rendered, and then, while I'm looking at it, it rerenders with different options (maybe also different exercise? I'm not sure)
  • as it rerenders, at some point I see four options in the bottom choices

image

  • by now, the backend has received a lot of calls to /bookmarks_to_study and /similar_words (16 calls in total more exactly)

image

Report the number of tries to the backend

We’re missing the “Asked_for_hint” exercise outcome that should be reported

Although what we could do is to send higher-level info instead of sending an asked-for-hint followed by a correct (which would require extra work on the backend to merge multiple interactions with the same bookmark):

  • correct from the 1st attempt (this includes typo-forgiving input)
  • correct from the 2nd attempt (either because of asking for a hint or because of trying the wrong multiple-choice option)
  • incorrect after exhausting all the options (clicked through all the hints / tried out all the alternatives)

danish localization

can we localize the menu in danish?
seems that some students could benefit from that!

visually show that the speech engine is loading

for danish at least, sometimes you click on the 'speak' button and you have to wait for more than 1s w/o any visual feedback.
it would be nice if there was some way, any way, to hint at the fact that the system is working. pulse the button, show a spinner, animate the Speak text... anything :)

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.