User Story

As a user,

I want to see my profile languages.

With ability to add, update and delete them.

API Calls

profile(userId)

returns user Profile entity.

languages

returns list of Languages.

addProfileLanguage(language)

returns updated user Profile entity.

updateProfileLanguage(language)

returns updated user Profile entity.

deleteProfileLanguage(language)

returns updated user Profile entity.

User Interface

User Languages Page

Acceptance Criteria

AC-1 Page is available at /users/:userId/languages
AC-1.1 Any authorised user can see this page
AC-2 There is a list of user languages
AC-3 User can add new language from a list of available languages
AC-3.1 User can add only language that is not already assigned to him
AC-4 User can update language proficiency
AC-4.1 Language proficiency is displayed
AC-5 User can delete languages
AC-6 Interface is read-only if displayed profile does not belong to the user
AC-6.1 Admin can manage any user languages