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

Learning path: Add learning path explanation for students #8815

Conversation

JohannesWt
Copy link
Contributor

@JohannesWt JohannesWt commented Jun 17, 2024

Checklist

General

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

This PRs introduces students to the concept of learning paths if they did not use it before.

Description

If a learning path has not been generated yet a new welcome text is displayed. The text shortly introduces the student to the concept of learning paths. Additionally the student generates his/her learning path him/herself by clicking on a new generation button.

Steps for Testing

Prerequisites:

  • 1 student (with no learning path generated yet)
  • 1 lecture with learning paths enabled
  • at least one Lecture Unit (or Exercise) connected to a competency
  1. Log in to Artemis
  2. Navigate to the course
  3. navigate to learning paths
  4. if no learning path has yet been generated a short text should be displayed and a generate button
  5. by clicking on the generate button a learning path should be generated and the "normal" learning path UI should be displayed

The following test servers can be used for testing -> Course Johannes Wiest (if you don't want to test locally).
Please mark the user if you tested with it that other testers don't use the same user.

Test Server 1:

  • artemis_test_user_2
  • artemis_test_user_4
  • artemis_test_user_5

Test Server 4:

  • artemis_test_user_2
  • artemis_test_user_3
  • artemis_test_user_4
  • artemis_test_user_5

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked







Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

image

@JohannesWt JohannesWt self-assigned this Jun 17, 2024
@github-actions github-actions bot added tests client Pull requests that update TypeScript code. (Added Automatically!) labels Jun 17, 2024
Copy link

⚠️ Unable to deploy to test servers ⚠️

Testserver "artemis-test4.artemis.cit.tum.de" is already in use by PR #8662.

@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Jun 18, 2024
@JohannesWt JohannesWt added deploy:artemis-test1 and removed deployment-error Added by deployment workflows if an error occured labels Jun 18, 2024
Copy link

⚠️ Unable to deploy to test servers ⚠️

Testserver "artemis-test1.artemis.cit.tum.de" is already in use by PR #8809.

@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Jun 18, 2024
@JohannesWt JohannesWt added deploy:artemis-test4 and removed deployment-error Added by deployment workflows if an error occured labels Jun 18, 2024
@JohannesWt JohannesWt temporarily deployed to artemis-test4.artemis.cit.tum.de June 18, 2024 12:40 — with GitHub Actions Inactive
@JohannesWt JohannesWt marked this pull request as ready for review June 18, 2024 12:47
@JohannesWt JohannesWt requested a review from a team as a code owner June 18, 2024 12:47
@rstief rstief temporarily deployed to artemis-test4.artemis.cit.tum.de June 18, 2024 13:07 — with GitHub Actions Inactive
Copy link
Contributor

@rstief rstief left a comment

Choose a reason for hiding this comment

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

tested on ts4 works as expected. Code also lgtm

Copy link
Contributor

@edkaya edkaya left a comment

Choose a reason for hiding this comment

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

Code lgtm

Comment on lines 142 to 143
expect(loadingSpy).toHaveBeenCalledWith(true);
expect(loadingSpy).toHaveBeenCalledWith(false);
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a thought: I wonder if we could be more specific here. Would toHaveBeenNthCalledWith(1, true) and toHaveBeenNthCalledWith(2, false) work? Same for the test should set isLoading correctly during learning path load

This way, we'd be making sure that the order of values is also correct

Comment on lines 15 to 18
"generation": {
"title": "Welcome to learning paths!",
"description": "Welcome to your learning path! This feature lets you learn at your own pace with a personalized journey tailored to your performance. It adapts dynamically, ensuring you always have the most relevant content and challenges. Start now and experience a customized path to success!",
"generateButton": "Start my learning path"
Copy link
Contributor

Choose a reason for hiding this comment

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

The translations don't seem 100% consistent between German and English here.

For example:

German: Willkommen bei deinem Lernpfad
English: Welcome to learning paths!

in English, the "Welcome to your learning path" that I would expect in the title (based on the German translation) is in the description instead.

Is there a reason for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

True I first did the English ones, then thought that the 1to1 translations don't really fit in German. But now I adapted the English ones again. 👍

Copy link
Contributor

@dmytropolityka dmytropolityka left a comment

Choose a reason for hiding this comment

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

tested on ts4 with user 5, works as expected
code also looks good

Copy link
Contributor

@pzdr7 pzdr7 left a comment

Choose a reason for hiding this comment

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

Code 👍

Copy link
Contributor

@JohannesStoehr JohannesStoehr left a comment

Choose a reason for hiding this comment

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

Code

Copy link
Collaborator

@MaximilianAnzinger MaximilianAnzinger left a comment

Choose a reason for hiding this comment

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

Maintainer approved

@MaximilianAnzinger MaximilianAnzinger merged commit 9460b12 into feature/learning-paths/refactor-student-ui Jun 19, 2024
26 of 30 checks passed
@MaximilianAnzinger MaximilianAnzinger deleted the feature/learning-paths/add-generation-ui branch June 19, 2024 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) ready for review tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants