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
mainbranch . 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
mainbranch. 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
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
mainbranch. -
The back-end deployment will be started automatically
-
Deploying CRM and Talent can be ran manually on
Build -> Pipelinepage
-
The marging UI-Lib onto
mainbranch 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.
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.xwill be created from themainbranch.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-libshould be set in package.json of CRM and TalentFollow 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:
-
-
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
#
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.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 editedonly by Adminany user who can access to edit mode07
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
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
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 yetThen: see the tab with my team and zeros
AND prefilter current year02
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
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 memberWhen: 60 completed goals
AND 54 planned goalsThen: see the percentage 111%
05
Given: tab “Goals and plans“
AND row with team memberWhen: 60 completed goals
AND 118 planned goalsThen: see percentage 51% (50.8 rounded)
06
Given: tab “Goals and plans“
AND row with team memberWhen: 0 completed goals
AND 118 planned goalsThen: see 118
07
Given: tab “Goals and plans“
AND row with team memberWhen: 118 completed goals
AND 118 planned goalsThen: 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 enterThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?12
Given: tab “Goals and plans“
AND section “Waiting for approval“When: click on the cell with request (yellow background)
AND changed the number manuallyThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?13
Given: tab “Goals and plans“
AND no request from employeesThen: 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
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 yetThen: see the tab with my team and zeros
AND prefilter current year02
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
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 memberWhen: 60 completed goals
AND 54 planned goalsThen: see the percentage 111%
05
Given: tab “Goals and plans“
AND row with team memberWhen: 60 completed goals
AND 118 planned goalsThen: see percentage 51% (50.8 rounded)
06
Given: tab “Goals and plans“
AND row with team memberWhen: 0 completed goals
AND 118 planned goalsThen: see 118
07
Given: tab “Goals and plans“
AND row with team memberWhen: 118 completed goals
AND 118 planned goalsThen: 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 enterThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?12
Given: tab “Goals and plans“
AND section “Waiting for approval“When: click on the cell with request (yellow background)
AND changed the number manuallyThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?13
Given: tab “Goals and plans“
AND no request from employeesThen: 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
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 yetThen: see the tab with my team and preset goals (hardcoded)
AND prefilter current week02
Given: open CRM user view page
When: click on the tab “Goals and plans“ with a lot of data
Then: see preloader
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 memberWhen: 60 completed goals
AND 54 planned goalsThen: see the percentage 111%
05
Given: tab “Goals and plans“
AND row with team memberWhen: 60 completed goals
AND 118 planned goalsThen: see percentage 51% (50.8 rounded)
06
Given: tab “Goals and plans“
AND row with team memberWhen: 0 completed goals
AND 118 planned goalsThen: see 118
07
Given: tab “Goals and plans“
AND row with team memberWhen: 118 completed goals
AND 118 planned goalsThen: 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 enterThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?12
Given: tab “Goals and plans“
AND section “Waiting for approval“When: click on the cell with request (yellow background)
AND changed the number manuallyThen: the number is changed
AND background of the cell is changed to green
OOS – AND do we need any notifications for team member?13
Given: tab “Goals and plans“
AND no request from employeesThen: 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
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 week02
Given: open CRM user view page
When: click on the tab “Goals and plans“ with a lot of data
Then: see preloader
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)
04
Given: tab “Goals and plans“
AND row Talent profileWhen: 60 completed goals
AND 54 planned goalsThen: see the percentage 111%
05
Given: tab “Goals and plans“
AND row Talent profileWhen: 60 completed goals
AND 118 planned goalsThen: see percentage 51% (50.8 rounded)
06
Given: tab “Goals and plans“
AND row Talent profileWhen: 0 completed goals
AND 118 planned goalsThen: see 118
07
Given: tab “Goals and plans“
AND row Talent profileWhen: 118 completed goals
AND 118 planned goalsThen: 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
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
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
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
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
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)
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. DecemberThen: 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
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 fieldThen: can change the number
03
Given: edit mode “goals and plans“
When: filters by week
click on any fieldThen: can change the number
04
Given: edit mode “goals and plans“
When: filters by year
click on any fieldThen: CAN’T change the number
05
Given: edit mode “goals and plans“
When: filters by quarter
click on any fieldThen: 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)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"































