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

Adaptive learning: Add endpoint to retrieve student course metrics #8508

Merged

Conversation

MaximilianAnzinger
Copy link
Collaborator

@MaximilianAnzinger MaximilianAnzinger commented Apr 30, 2024

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I strictly followed the server coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
  • I documented the Java code using JavaDoc style.

Motivation and Context

We want to create a new course-level dashboard view and we need an efficient approach to fetch the displayed information (e.g. exercises and related metrics).

Description

Adds new endpoint to fetch exercise related data for new dashboard.

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 server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Test Coverage

@github-actions github-actions bot added the server Pull requests that update Java code. (Added Automatically!) label Apr 30, 2024
@github-actions github-actions bot added the tests label May 3, 2024
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.

Question in general: Should these metrics take practice participations into account?

coderabbitai[bot]
coderabbitai bot previously approved these changes May 3, 2024
@JohannesStoehr JohannesStoehr self-assigned this May 3, 2024
Copy link
Contributor

@FelixTJDietrich FelixTJDietrich left a comment

Choose a reason for hiding this comment

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

I have two exercises, one programming and one text and it looks like this for me now:
image

  • exerciseInformation is fine except maybe the type which is currently something like de.tum.in.www1.artemis.domain.ProgrammingExercise, can't it be simpler?
  • averageScore seems fine but is 0 for exercises that are not at their due date yet, maybe it is a good idea to not give an average score if the due date is not over. Also what about exercises where assessment is still in progress?
  • averageLatestSubmission is a double instead of a timestamp which is inconsistent with latestSubmission
  • Why do we have submissionTimestamps and why does it include the score? I'm also confused why it contains exerciseId: 4 this seems to be wrong. I think submissionTimestamps should be replaced with score to keep it consistent with the rest

coderabbitai[bot]
coderabbitai bot previously approved these changes May 8, 2024
@MaximilianAnzinger MaximilianAnzinger changed the base branch from develop to hd3-develop May 14, 2024 13:44
@MaximilianAnzinger MaximilianAnzinger merged commit c5a5c28 into hd3-develop May 14, 2024
26 of 31 checks passed
@MaximilianAnzinger MaximilianAnzinger deleted the feature/adaptive-learning/add-metrics-service branch May 14, 2024 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review server Pull requests that update Java code. (Added Automatically!) tests
Projects
Archived in project
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants