Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

[$75] Change in how we work with Skills #627

Closed
callmekatootie opened this issue Aug 3, 2020 · 10 comments
Closed

[$75] Change in how we work with Skills #627

callmekatootie opened this issue Aug 3, 2020 · 10 comments

Comments

@callmekatootie
Copy link
Collaborator

callmekatootie commented Aug 3, 2020

Right now, each user has skills. We can add and remove skills for a user. We even have a filter for skills.

Each skill has a parent called as "skill provider".
Currently, front end assumes all skills to be having the skill provider as EMSI.
EMSI is a third party api that we are using which we query to return skills, which are then assigned to the user.

Front end has EMSI_SKILLPROVIDER_ID configuration, which is used when we add a new skill to a user. This basically creates the skill, for that user, and assigns EMSI as the skill provider for that skill in the database.

We are now moving to support multiple skill providers.
Each skill provider will be associated with an organization.

Change 1
Instead of the existing endpoint to get the skills, you will now use GET {{API_URL}}/search/skills?organizationId=<selected_org_id>&keyword=<search_text> where organizationId is the org id of the org that the user selected during page load and keyword is the search text entered by the user. You will need to update this such that, both - the skills filter AND the skills search in the edit profile modal use it. The dropdown suggestions and selection / removal of the skill will not change - you are only updating the api (You might have to update the property names used since they may not be the same)

Change 2
The response structure of the skill suggestions will contain the skill name, skill id and skill provider id.

Now, currently, we assign the EMSI skill provider id (read from the config) for all skills that we are adding to a user. Instead, you will now update it so that the skill provider id associated with the selected skill itself will be used instead of the EMSI skill provider id. That is, when a user selects a skill to be added to a user, the skill provider id of this skill will be the one present in the suggestion list, for the selected skill (each skill will have a skill id and a skill provider id besides the name)

With this, the EMSI skill provider id configuration would no longer be needed. The front end will have no knowledge of anything EMSI

Change 3
Since we are no longer using the app's backend, but instead are now using the API to fetch the skills, you need to remove the code in the app's backend too (besides the front end) that deals with the EMSI skill endpoint proxy

Notes

  • When a user adds a skill, there is a possibility that two skills are having the same name. In this case, they will have different skill providers. Thus, you would need to update the code that checks if the skill exists or not to compare both the skill id and the skill provider id
  • Remove all references to EMSI from this app. The app basically will no longer have anything to do with EMSI (we are moving it to the api instead). Remove it from the backend too (this app has a front end, back end and an api - api is where we are moving the code to EMSI - so you need to remove any mention of EMSI from front end and back end only)
@callmekatootie callmekatootie changed the title Change in how we work with Skills WIP: Change in how we work with Skills Aug 3, 2020
@callmekatootie callmekatootie changed the title WIP: Change in how we work with Skills Change in how we work with Skills Aug 3, 2020
@callmekatootie callmekatootie changed the title Change in how we work with Skills [$75] Change in how we work with Skills Aug 3, 2020
@cwdcwd
Copy link
Contributor

cwdcwd commented Aug 3, 2020

Contest https://www.topcoder.com/challenges/30135728 has been created for this ticket.

This is an automated message for lazybaer via Topcoder X

@callmekatootie
Copy link
Collaborator Author

This ticket is now open for pickup

@cagdas001 cagdas001 self-assigned this Aug 3, 2020
@cwdcwd
Copy link
Contributor

cwdcwd commented Aug 3, 2020

Contest https://www.topcoder.com/challenges/30135728 has been updated - it has been assigned to cagdas001.

This is an automated message for lazybaer via Topcoder X

@cagdas001
Copy link
Collaborator

@callmekatootie The API responds with status code 400.

ubahn-err

@callmekatootie
Copy link
Collaborator Author

Crap... I might have broken it... Hang on... Give me 15 mins

@callmekatootie
Copy link
Collaborator Author

@cagdas001 Please try now

@callmekatootie
Copy link
Collaborator Author

@cagdas001 Any ETA on when this will be ready for review

@cagdas001
Copy link
Collaborator

@callmekatootie close to complete

cagdas001 added a commit to cagdas001/u-bahn-app that referenced this issue Aug 4, 2020
Skill suggestion will now be fetched from the `u-bahn-api`, instead of EMSI.
Remove EMSI dependence.

Addresses topcoder-archive#627
@cagdas001
Copy link
Collaborator

@callmekatootie done in #628

Also found a bug when I was working on this, that was preventing inputs with spaces in SuggestionBox (for e.g. try to input .NET Framework 4) This is also fixed

callmekatootie added a commit that referenced this issue Aug 4, 2020
…e external id. So we verify for its existence through skill id too once before deciding to create it agian
callmekatootie added a commit that referenced this issue Aug 5, 2020
@cwdcwd
Copy link
Contributor

cwdcwd commented Aug 5, 2020

Payment task has been updated: https://software.topcoder.com/review/actions/ViewProjectDetails?pid=30135728

This is an automated message for lazybaer via Topcoder X

@cwdcwd cwdcwd added the tcx_Paid label Aug 5, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants