Category: ROCKEN Documentation

  • Git Flow for Development Team from 25.11.24

    Key Points of the Flow

    1. Creating a Task Branch

    Each developer creates a separate branch for their task from the main branch . The branch name should follow the existing naming convention. For example:

    feature/<issue_number>-<short_description> 
    fix/<issue_number>-<short_description> 
    hotfix/<issue_number>-<short_description>

    2. Working on the Task

    The developer makes all necessary changes in their branch. All changes must be documented in the CHANGELOG.md under the [Unreleased] section.

    3. Pull Request (PR)

    After completing the task, the developer creates a pull request (PR) into main branch. The PR should describe all changes and their impact on the project. The version should not be updated during this merge.

    It would be better to have same branch name for all repos.

    The links to all PRs must be present in corespondent ticket, it will help to review and test changes with no efforts.

    3.1 Code review

    At least one developer must review the code.

    3.2 Testing feature

    The QA speciaalist takes correspondent branches and deploy to his sandbox. Here is instructions

    brnch-name.png

    Any improvements can be redeployed by tester using previous instructions or by developer via Synchronisation script (in case of minor changes)

    Writing autotests

    4. Deploy to Stage

    • Once the PR is approved and passes all checks, it can be merged into the main branch.

    • The back-end deployment will be started automatically

    • Deploying CRM and Talent can be ran manually on Build -> Pipeline page

    Screenshot 2024-11-25 at 16.49.56.png

    • The marging UI-Lib onto main branch will trigger creating new git tag, than building npm pachage and deploying CRM and Talent. So you don’t have to deploy CRM/Talent manually.

    Screenshot 2024-11-25 at 16.47.18.png

    5. Deploy to Production

    We need to set proper versions of apps.

    Back

    • CHANGELOG.md

    • config/version.yml

    Ui-lib

    • CHANGELOG.md

    • package.json

    Talent

    • CHANGELOG.md

    • package.json

      • version

      • dependencies.@talent/ui-lib

    CRM

    • CHANGELOG.md

    • package.json

      • version

      • dependencies.@talent/ui-lib

    Eventually we need to create script to automate this process.

    We need yml file with versions

    script to set these versions to app

    Script / button to deploy everything in one command/push-btn


    A new branch with the name release/vx.x.x will be created from the main branch.

    This merge request updates the version and writes the CHANGELOG. The responsible person must replace the [Unreleased] section with the proper version.

    Back-End

    The version file needs to be updated

    Front-End

    The proper version for each project needs to be set in the package.json file.

    The exact version of UI-Lib @talent/ui-lib should be set in package.json of CRM and Talent

    Follow these instructions Releasing

    Example CHANGELOG:

    ## [vx.x.x] - 2024-07-18 
    
    ### Added 
    - Feature description #123 (Author) 
      [RT-XXXX] (link to the ticket in Jira)
      
    ### Changed 
    - Updated functionality for XYZ #456 (Author) 
      [RT-XXXX] (link to the ticket in Jira)
      
    ### Fixed 
    - Bug description #789 (Author)
      [RT-XXXX] (link to the ticket in Jira)

    Future improvements for current GitFlow will look like this:

    Screenshot 2024-11-25 at 16.38.41.png

  • Story 1.7.5.1. User edit mode

    Content

    General info

    This user story focuses on enabling CRM users to edit the information of any user in the system. The primary goal is to maintain accurate and current records of all team members. The story involves updating user details, saving changes, and handling scenarios where a user may cancel their edits or attempt to navigate away without saving.

    User story

    As a CRM user
    I want to edit any user in the system
    So that I can ensure that the information about each team member is accurate and up-to-date.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/Rocken-Design?node-id=45187-247308&t=vO8VqcrY1hDmMyuV-4

    #

    Acceptance Criteria

    01

    Scenario: Saving User Changes
    GIVEN I am on the User Edit page
    WHEN I update any field in the user’s profile
    THEN the system should allow me to save changes using the "Save Changes" button.

    image-20250130-135529.png

    02

    Scenario: Editable Fields
    GIVEN I want to edit a user’s information
    WHEN I access the User Edit page
    THEN all editable fields should be clearly labeled and allow me to input or select new values.

    03

    Scenario: Navigation Prompt
    GIVEN I have made changes to a user’s profile
    WHEN I attempt to navigate away without saving
    THEN the system should prompt me to confirm if I want to save or discard changes.

    04

    Scenario: Canceling Edits
    GIVEN I want to cancel my edits
    WHEN I click the "Cancel" button
    THEN all changes should be discarded, and I should return to the previous view without updating the user’s profile.

    05

    Scenario: Successful Save Confirmation
    GIVEN I have saved changes to a user’s profile
    WHEN the changes are successfully saved
    THEN I should receive a confirmation message that the user’s profile has been updated.

    06

    Scenario: Editing User Details
    GIVEN I am editing a user
    WHEN I interact with fields for first name, last name, role, category (with the ability to add new categories), phone number, email, email at Rocken Jobs, country, or extra links (e.g., LinkedIn, website)
    THEN I should be able to input and save changes to these fields.
    AND country should be edited only by Admin any user who can access to edit mode

    07

    Scenario: User Status Checkboxes
    GIVEN I am editing a user’s profile
    WHEN I select the checkboxes for "Test user" or "Anonymous user"
    THEN the system should correctly update the user’s status based on these selections.

    08

    Scenario: Updating Avatar
    GIVEN I want to update a user’s avatar
    WHEN I upload a new avatar image
    THEN the system should save the image and display it in place of the previous avatar.

    09

    Scenario: Password Encryption
    GIVEN I need to update a user’s password
    WHEN I enter a new password
    THEN the system should securely encrypt the password and save it without exposing the actual characters entered.

    10

    Scenario: Managing Extra Links
    GIVEN I am adding extra links to a user’s profile
    WHEN I add or remove links like LinkedIn or a personal website
    THEN the changes should be reflected immediately in the user’s profile after saving.

  • Planning Digital Ocean Environments: Production and Sandboxes

    rocken_talent_new-20240717-091027.jpg

    Major points:

    • No redundancy

    Structure of the projects envs:

    Production env(old architecture) :

    2 Load balancers → routes to 2 droplets → Droplets are Linux VMs → The main droplet runs the container config from the docker-compose file → The second droplet is responsible for Sendgrid → 2 database clusters 1 for Redis and 1 for PostgreSQL

    Staging env (new architecture):

    1 Load Balancer → 6 Droplets →

    Decisions:

    • Docker-compose – DevOps

    • Database-managed instances (PostgreSQL) – DevOps + Devs for connection

    • Redis managed instances – DevOps + Devs for connection

    • Every service needs to have at least two instances – Devs

    • Decide Sendgrid solution (setup) – Devs

    • Prevent sending of emails before production is approved. – Devs

    • Be sure not to load the testing files in the production bucket. – Devs

    • Do not load the Storybook container to the production env.

    • We do not need the separate BI board anymore cause it is a part of the new architecture. – DevOps

    • Create a new project on Sentry and connect it to the new Architecture. – Devs after decision

    • Anton and Yurii will decide the exact solution for Logging and Error handling
      (Senty \ NewRelic etc.) = Anton, Yurii (Devs)

    • Twilio for SMS services. Be sure to not send anything before live. Investigate the env and accounts. – Devs

    • Look for secrets management for production. Decrease the list of people who can access it. – DevOps

    • Write a new CI\CD pipeline for Production env. – Devs + DevOps

    • To come up with the right resource plan for the Production env

  • Story 1.7.3.6. CRM. User tab “Goals and plans” HoR view mode

    Content

    General info

    The "Goals and Plans" tab provides heads of recruitment (HoR) with access to the recruitment goals and plans relevant to their role. HoRs can view the overall recruitment progress, set hiring targets, and monitor the performance of their recruitment team.

    User story

    As a [Head of Recruitment],
    I want to view my recruitment goals and plans on the User View Page,
    So that I can monitor the progress and performance of the recruitment team and approve new goals.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=49370-71043&t=mJQgo0Qmhp3N3fm5-4

    Acceptance criteria

    01

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ first time
    AND the team hadn’t plan any goals yet

    Then: see the tab with my team and zeros
    AND prefilter current year

    image-20240711-073414.png

    02

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ with a lot of data

    Then: see preload at the first second

    image-20240705-140522.png

    03

    Given: open CRM user view page

    When: click on the tab “Goals and plans“

    Then: see the goals of the team:

    Requests – ???

    Talent profile – created talent profiles (hardcoded goal 0 for the year)

    AS – New applicants/profiles created within the taken period of time or the ones created before, but had received the checkmark ACTIVE SOURCING in the taken period of time (hardcoded goal 0 for the year)

    Publishing – publishing of Publications at the taken period of time (hardcoded goal 0 for the year)

    Application – amount of applicants with whom started working in CRM (hardcoded goal 0 for the year)

    04

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 54 planned goals

    Then: see the percentage 111%

     

    image-20240711-071919.png

     

    05

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 118 planned goals

    Then: see percentage 51% (50.8 rounded)

     

    06

    Given: tab “Goals and plans“
    AND row with team member

    When: 0 completed goals
    AND 118 planned goals

    Then: see 118

     

    07

    Given: tab “Goals and plans“
    AND row with team member

    When: 118 completed goals
    AND 118 planned goals

    Then: see 118 / 118 and percentage 100%

     

    08

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select undo changes

    Then: last changes is back to previous number

    09

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Accept all

    Then: all requests from the team member are applied
    OOS – AND do we need any notifications for team member?

    10

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Decline all

    Then: all requests from the team member aren’t applied
    OOS – AND do we need any notifications for team member?

    11

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click to any cell for edit
    AND changed the number
    AND click outside the cell OR press enter

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-054850.png

    12

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click on the cell with request (yellow background)
    AND changed the number manually

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-060556.png

    13

    Given: tab “Goals and plans“
    AND no request from employees

    Then: section “Waiting for approval“ is not shown

  • Story 1.7.3.5. CRM. User tab “Goals and plans” HoD view mode

    Content

    General info

    The "Goals and Plans" tab provides heads of division (HoD) with access to the goals and plans relevant to their role. HoDs can view the overall progress of their division, set strategic goals, and monitor/approve the performance of their team members.

    User story

    As a [Head of Division],
    I want to view my division’s goals and plans on the User View Page,
    So that I can monitor and approve goals of my division.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=49370-64962&t=mJQgo0Qmhp3N3fm5-4

    Acceptance criteria

    01

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ first time
    AND the team hadn’t plan any goals yet

    Then: see the tab with my team and zeros
    AND prefilter current year

    image-20240711-073414.png

    02

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ with a lot of data

    Then: see preload at the first second

    image-20240705-140522.png

    03

    Given: open CRM user view page

    When: click on the tab “Goals and plans“

    Then: see the goals of the team:

    Requests – Compare the default numbers of goals with the actual progress of the taken user for the taken period of time. Requests are the launched processes (hardcoded goal 400 for the month)

    Sharings – See previous comment, + shared to the company processes at the taken period of time (hardcoded goal 160 for the month)

    Invitations – See previous comment, + number of Interviews recorded in the processes (hardcoded goal 16 for the month)

    ROCKED – how many rocked statuses are achieved by this consultant (hardcoded goal 0 for the month)

    KT – how many KT phases are completed (if the consultant on phase KT3 means that he successfully completed two KTs) (hardcoded goal 4 for the month)

    04

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 54 planned goals

    Then: see the percentage 111%

     

    image-20240711-071919.png

     

    05

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 118 planned goals

    Then: see percentage 51% (50.8 rounded)

     

    06

    Given: tab “Goals and plans“
    AND row with team member

    When: 0 completed goals
    AND 118 planned goals

    Then: see 118

     

    07

    Given: tab “Goals and plans“
    AND row with team member

    When: 118 completed goals
    AND 118 planned goals

    Then: see 118 / 118 and percentage 100%

     

    08

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select undo changes

    Then: last changes is back to previous number

    09

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Accept all

    Then: all requests from the team member are applied
    OOS – AND do we need any notifications for team member?

    10

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Decline all

    Then: all requests from the team member aren’t applied
    OOS – AND do we need any notifications for team member?

    11

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click to any cell for edit
    AND changed the number
    AND click outside the cell OR press enter

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-054850.png

    12

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click on the cell with request (yellow background)
    AND changed the number manually

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-060556.png

    13

    Given: tab “Goals and plans“
    AND no request from employees

    Then: section “Waiting for approval“ is not shown

  • Story 1.7.3.4. CRM. User tab “Goals and plans” Business manager view mode

    Content

    General info

    The "Goals and Plans" tab provides business managers with access to the goals and plans relevant to their role. Business managers can view their sales targets, client management plans, and progress on key business initiatives.

    User story

    As a [Business Manager],
    I want to view my goals and plans on the User View Page,
    So that I can track my sales and client management progress.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=48955-30177&t=mJQgo0Qmhp3N3fm5-4

    Acceptance criteria

    01

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ first time
    AND the team wasn’t plan any goals yet

    Then: see the tab with my team and preset goals (hardcoded)
    AND prefilter current week

    image-20240711-071658.png

    02

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ with a lot of data

    Then: see preloader

    image-20240705-140522.png

    03

    Given: open CRM user view page

    When: click on the tab “Goals and plans“

    Then: see the goals of the team:

    Requests – Compare the default numbers of goals with the actual progress of the taken user for the taken period of time. Requests are the launched processes (hardcoded goal 0 for the month)

    Sharings – See previous comment, + shared to the company processes at the taken period of time (hardcoded goal 0 for the month)

    Invitations – See previous comment, + number of Interviews recorded in the processes (hardcoded goal 0 for the month)

    ROCKED – how many rocked statuses are achieved by this consultant (hardcoded goal 0 for the month)

    KT – how many KT phases are completed (if the consultant on phase KT3 means that he successfully completed two KTs) (hardcoded goal 0 for the month)

    04

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 54 planned goals

    Then: see the percentage 111%

    image-20240711-071919.png

    05

    Given: tab “Goals and plans“
    AND row with team member

    When: 60 completed goals
    AND 118 planned goals

    Then: see percentage 51% (50.8 rounded)

    06

    Given: tab “Goals and plans“
    AND row with team member

    When: 0 completed goals
    AND 118 planned goals

    Then: see 118

    07

    Given: tab “Goals and plans“
    AND row with team member

    When: 118 completed goals
    AND 118 planned goals

    Then: see 118 / 118 and percentage 100%

    08

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select undo changes

    Then: last changes is back to previous number
    OOS – AND do we need any notifications for team member?

    09

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Accept all

    Then: all requests from the team member are applied
    AND changed from yellow background to green
    OOS – AND do we need any notifications for team member?

    10

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: select Decline all

    Then: all requests from the team member aren’t applied
    OOS – AND do we need any notifications for team member?

    11

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click to any cell for edit
    AND changed the number
    AND click outside the cell OR press enter

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-054850.png

    12

    Given: tab “Goals and plans“
    AND section “Waiting for approval“

    When: click on the cell with request (yellow background)
    AND changed the number manually

    Then: the number is changed
    AND background of the cell is changed to green
    OOS – AND do we need any notifications for team member?

    image-20240719-060556.png

    13

    Given: tab “Goals and plans“
    AND no request from employees

    Then: section “Waiting for approval“ is not shown

  • Story 1.7.3.3. CRM. User tab “Goals and plans” recruiter view mode

    Content

    General info

    The "Goals and Plans" tab provides recruiters with access to the goals and plans relevant to their role. Recruiters can view their hiring targets, progress on open positions, and planned recruitment activities.

    User story

    As a [Recruiter],
    I want to view my goals and plans on the User View Page,
    So that I can track my hiring progress and plan my recruitment activities.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=49370-77369&t=DDQBsOT6h5kljwjc-4

    Acceptance criteria

    01

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ first time

    Then: see the tab with preset goals (hardcoded)
    AND prefilter current week

    02

    Given: open CRM user view page

    When: click on the tab “Goals and plans“ with a lot of data

    Then: see preloader

    image-20240705-140522.png

    03

    Given: open CRM user view page

    When: click on the tab “Goals and plans“

    Then: see the data for this user (recruiter):

    Talent profile – created talent profiles (hardcoded goal 12 for the month)

    AS – New applicants/profiles created within the taken period of time or the ones created before, but had received the checkmark ACTIVE SOURCING in the taken period of time (hardcoded goal 0 for the month)

    Publishing – publishing of Publications at the taken period of time (hardcoded goal 35 for the month)

    Application – amount of applicants with whom started working in CRM (hardcoded goal Publishing x 2 for the month)

    image-20240710-103147.png

    04

    Given: tab “Goals and plans“
    AND row Talent profile

    When: 60 completed goals
    AND 54 planned goals

    Then: see the percentage 111%

    image-20240710-103453.png

    05

    Given: tab “Goals and plans“
    AND row Talent profile

    When: 60 completed goals
    AND 118 planned goals

    Then: see percentage 51% (50.8 rounded)

     

    06

    Given: tab “Goals and plans“
    AND row Talent profile

    When: 0 completed goals
    AND 118 planned goals

    Then: see 118

     

     

    07

    Given: tab “Goals and plans“
    AND row Talent profile

    When: 118 completed goals
    AND 118 planned goals

    Then: see 118 / 118 and percentage 100%

     

  • Story 1.7.3.2. CRM. User. Filter on User tab “Goals and plans”

    Content

    General info

    The "Goals and Plans" tab includes filtering options that allow users to filter their goals and plans by time period, goal type, or status (e.g., completed, in progress). These filters help users focus on specific goals and track progress more effectively.

    User story

    As a [CRM user],
    I want to filter my goals and plans by time period, goal type, and status,
    So that I can easily find and review specific goals.

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=48602-194220&t=1sBNsvoVnBIVD4EZ-4

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=48760-205307&t=bi7jAI2OLo2VEeCp-4

    Acceptance criteria

    01

    Given: tab “Goals and plans“

    When: click on the filter “Current year“

    Then: see data according to the filter separated by quarters + total for year

    image-20240705-143629.png

    02

    Given: tab “Goals and plans“

    When: click on the filter “Current quarter“

    Then: see data according to the filter separated by months in the current quarter + total for quarter

    image-20240705-143643.png

    03

    Given: tab “Goals and plans“

    When: click on the filter “Current month“

    Then: see data according to the filter separated by weeks in the selected month + total for month

    image-20240705-143658.png

    04

    Given: tab “Goals and plans“

    When: click on the filter “Current week“

    Then: see data according to the filter separated by working days in the selected week + total for week

    image-20240705-143711.png

    05

    Given: tab “Goals and plans“

    When: click on the filter and try to select some future year (for example 2026)

    Then: you can’t select this year because the dropdown only shows years from 2019 to the current +1 (2019-2024+1)

    image-20240718-054913.png

    06

    Given: tab “Goals and plans“

    When: click on the filter and select NOT current month, but “Custom” option
    AND try to select e.g. December

    Then: you can do this for any December in range 2019-2024+1

  • Story 1.7.5.2. CRM. User tab “Goals and plans” edit mode

    Content

    General info

    Important! The story is not relevant, all editing will be in the view mode.

    User story

    As a consultant

    I want to edit my goals and plans

    So that helps to send/change my updated goals

    Visual design

    https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=48868-94160&t=1sBNsvoVnBIVD4EZ-4

    Acceptance criteria

    01

    Given: User page view, tab Goals and plans

    When: click edit

    Then: see the edit mode of the tab

    02

    Given: edit mode “goals and plans“

    When: filters by month
    click on any field

    Then: can change the number

    image-20240710-100327.png

    03

    Given: edit mode “goals and plans“

    When: filters by week
    click on any field

    Then: can change the number

    04

    Given: edit mode “goals and plans“

    When: filters by year
    click on any field

    Then: CAN’T change the number

    05

    Given: edit mode “goals and plans“

    When: filters by quarter
    click on any field

    Then: CAN’T change the number

    06

    Given: edit mode “goals and plans“

    When: change the number in one input
    AND click the button “Save 1 change”

    Then: the number is changed
    AND send a new request for a HoC (head of consultant)

    image-20240710-100333.png

    07

    Given: edit mode “goals and plans“

    When: use filter e.g. 2024

    Then: see the quarters with ability to edit

    Filter work the same as described here: Story 1.7.3.2. CRM. User. Filter on User tab "Goals and plans"

    image-20240710-100357.png