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

Skill-Time Profile Export - Component 1: Skill-Time Conversion Microservice #23

Open
10 tasks
TheMorpheus407 opened this issue Oct 4, 2023 · 5 comments · May be fixed by Bootstrap-Academy/skills-ms#395
Open
10 tasks
Assignees
Labels
backend enhancement New feature or request story

Comments

@TheMorpheus407
Copy link
Contributor

TheMorpheus407 commented Oct 4, 2023

This service is responsible for converting the skill level of the user into an estimated time investment for each skill.

Functional Requirements:

  • Data Retrieval: The service must interface with the User Profile Microservice to fetch the user's current skill levels from the database.
  • Conversion Logic: Implement a mechanism that translates a user's skill level into an estimated time investment. The formula or conversion factor should be adjustable to refine based on accuracy feedback over time.
  • Data Updating: Post conversion, this estimated time data should be stored back in the user's profile within the database. This necessitates interfacing with the User Profile Microservice.

Non-Functional Requirements:

  • Performance: Ensure the service is optimized for rapid response times to maintain a seamless user experience.
  • Reliability: The service must consistently yield accurate and reliable results.
  • Scalability: Design the service with scalability in mind, allowing it to handle increased loads as the user base expands.

Acceptance Criteria:

  • Accurately convert user skill levels to a representative measure of time spent learning or practicing that skill.
  • Maintain consistent conversion across all skill types.
  • Dynamically update the estimated time as users' skill levels change.
  • Successfully integrate with user profiles to fetch skill level data in real-time.

Dependencies:

  • None for this component. However, subsequent components (like the PDF Export Microservice) will depend on the successful completion of this component.

Notes:

  • As this is the initial phase, there are no UI/UX mockups. After discussions and approvals on this issue, designers will create relevant mockups.
  • The database schemas are pre-established. Any interactions or modifications must align with the current setup.
@TheMorpheus407 TheMorpheus407 added enhancement New feature or request question Further information is requested backend labels Oct 4, 2023
@github-project-automation github-project-automation bot moved this to Triage/Draft in Tickets Oct 4, 2023
@Defelo Defelo added the story label Oct 5, 2023
@TheMorpheus407 TheMorpheus407 moved this from Triage/Draft to Todo in Tickets Oct 6, 2023
@TheMorpheus407 TheMorpheus407 removed their assignment Oct 7, 2023
@TheMorpheus407 TheMorpheus407 removed the question Further information is requested label Oct 7, 2023
@Lauritz-Tieste
Copy link
Collaborator

Lauritz-Tieste commented Oct 29, 2024

Did I understand correctly that this PR requires

  1. calculate the estimated time on a SubSkill
    Example formula: AsCompletedMarkedVideoTimes + NumberCompletedQuizzesAndMatchings * NumberAnswersInQuizAndMatching / 4 + NumberCompletedChallenges * 30 minutes
  2. save these values (as total time and time per SubSkill) in the user profile
  3. retrieve the data from the user profile (GET /auth/users/{user_id})

It is not required here: UI Implementation

@TheMorpheus407
Copy link
Contributor Author

Indeed, yes. Here's just the Microservice as ticket

@Lauritz-Tieste
Copy link
Collaborator

Lauritz-Tieste commented Oct 29, 2024

And should this be built into GET /auth/users/{user_id}?

@TheMorpheus407
Copy link
Contributor Author

No, it's not about authentication, rather it's about their profile

@Lauritz-Tieste
Copy link
Collaborator

Please assign me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend enhancement New feature or request story
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

3 participants