OnBoarding
Part 1
Step 1
- Development streams/projects (DE, CLIC, DEDM, ...)
- Vacations and dayoffs process - Tempo
Step 2
- Log into Outlook
- Log into Slack
- Log into GitLab
- Log into Jira
- Get familiar with Confluence
- Get familiar with Figma
- For voice communication we use Microsoft Teams and slack huddle
Part 2
Step 1
- Add new team member to the FE meetings:
Microsoft Teams - FE team call - Tech stack intro (React, Effector, TypeScript, StyledComponents, Storybook, Webpack, Jest)
- Libraries are compiled with tsc (TypeScript Complier) and being published after changes arrive in master branch
- Introduce Semantic Release
- Introduce https://ui-kit-next.invent.us/
- Introduce White Label https://gitlab.apptrium.io/invent/frontend/wlabel
- Threads on code review are being resolved by reviewers
- It is required to get 2 approvals to merge a branch
- PRs are merged by the author
- Don't forget to fill the
Assigneefield in PR - Jira and Confluence interactions are in English
Info - DE
- Introduce https://staging.de.apptrium.cloud/
- Get access to LastPass
- DE Jira workflow: tasks/statuses
- Introduce
OpenApi(VPN Access):
Info - CLIC
- Introduce https://clic-dev.apptrium.cloud/
- Get access to LastPass
- CLIC Jira workflow: tasks/statuses
- Introduce
OpenApi(VPN Access):
- https://api.dev.lts.apptrium.cloud/swagger/dap-api/swagger.json
- https://api.dev.lts.apptrium.cloud/swagger/dap-int/swagger.json
Info - DEDM
- Introduce https://staging.dm.de.apptrium.cloud/
- Auth (personal credentials)
- DEDM Jira workflow: tasks/statuses
- Introduce
GraphiQL:
Part 3
- Create gitlab registry token https://gitlab.apptrium.io/-/profile/personal_access_tokens (set read access:
read_api) - Configure
~/.npmrc(changeTOKEN):
$ npm config set --location=user @invent:registry=https://gitlab.apptrium.io/api/v4/packages/npm/
$ npm config set --location=user //gitlab.apptrium.io/api/v4/packages/npm/:_authToken=TOKEN
- If needed, update section
[user]in~/.gitconfig:
[user]
email = <your email>
name = <your name>
- Add public SSH key into GitLab https://gitlab.apptrium.io/-/profile/keys
- Install
npm@10++node@22(we are on LTS) - Check if frontend is accessible. If not - contact #devops-support asking the following:
Please give <name> role "developer" for the group "frontend" - Clone wlabel, install dependencies, configure devmode-vars.json and start federation (locally):
$ git clone git@gitlab.apptrium.io:invent/frontend/wlabel.git
$ cd ./wlabel/
$ npm install
$ touch devmode-vars.json # should be configured
$ npm run start_federation # widgets selection could be skipped
- Clone a widget of choice, install dependencies and start federation (locally):
$ git clone <widget_url>
$ cd <widget_path>
$ npm install
$ npm run start_federation # wlabel should be restarted
- Clone ui-kit, install dependencies and start Storybook:
$ git clone git@gitlab.apptrium.io:invent/frontend/wl-ui-kit.git
$ cd ./wl-ui-kit/
$ npm install
$ npm run start # for the following launches just "npm run storybook" is enough
- Get familiar with Module Federation
- Introduce ProjectId for widgets
- Describe the release/publish processes taking wlabel pipelines as an example
- Create a meeting in Microsoft Teams
Info - DE
- Log into https://staging.de.apptrium.cloud/
- Clone douglas-fe-be
- Install/setup mongo
- Install/setup rabbitmq
Info - CLIC
- Log into https://clic-dev.apptrium.cloud/
- Clone clic-fe-be
- Install/setup mongo
Info - DEDM
- Log into https://staging.dm.de.apptrium.cloud/
- Clone dedm-fe-be
- Install/setup mongo
- Install/setup rabbitmq
Examples
Installing node (MacOS)
$ brew install node@22
Get list of available services (MacOS):
$ brew services list
Installing mongodb (MacOS):
$ xcode-select --install
$ brew tap mongodb/brew
$ brew install mongodb-community
Installing mongodb (Docker):
$ docker run --name mongo -p 27017:27017 -d mongo
Installing rabbitmq (MacOS)
$ xcode-select --install
$ brew install rabbitmq
Installing rabbitmq (Docker)
$ docker run -d -h my-rabbit --name rabbit -p 8080:15672 -p 5672:5672 rabbitmq:3-management
Launch mongodb (MacOS)
$ brew services start mongodb-community
Launch rabbitmq (MacOS)
$ brew services start rabbitmq
Drop local database in mongo (MacOS)
$ mongosh
> use wl;
> db.dropDatabase();