Skip to main content

OnBoarding

Part 1

Step 1

  1. Development streams/projects (DE, CLIC, DEDM, ...)
  2. Vacations and dayoffs process - Tempo

Step 2

  1. Log into Outlook
  2. Log into Slack
  3. Log into GitLab
  4. Log into Jira
  5. Get familiar with Confluence
  6. Get familiar with Figma
  7. For voice communication we use Microsoft Teams and slack huddle

Part 2

Step 1

  1. Add new team member to the FE meetings: Microsoft Teams - FE team call
  2. Tech stack intro (React, Effector, TypeScript, StyledComponents, Storybook, Webpack, Jest)
  3. Libraries are compiled with tsc (TypeScript Complier) and being published after changes arrive in master branch
  4. Introduce Semantic Release
  5. Introduce https://ui-kit-next.invent.us/
  6. Introduce White Label https://gitlab.apptrium.io/invent/frontend/wlabel
  7. Threads on code review are being resolved by reviewers
  8. It is required to get 2 approvals to merge a branch
  9. PRs are merged by the author
  10. Don't forget to fill the Assignee field in PR
  11. Jira and Confluence interactions are in English

Info - DE

  1. Introduce https://staging.de.apptrium.cloud/
  2. Get access to LastPass
  3. DE Jira workflow: tasks/statuses
  4. Introduce OpenApi (VPN Access):

Info - CLIC

  1. Introduce https://clic-dev.apptrium.cloud/
  2. Get access to LastPass
  3. CLIC Jira workflow: tasks/statuses
  4. Introduce OpenApi (VPN Access):

Info - DEDM

  1. Introduce https://staging.dm.de.apptrium.cloud/
  2. Auth (personal credentials)
  3. DEDM Jira workflow: tasks/statuses
  4. Introduce GraphiQL:

Part 3

  1. Create gitlab registry token https://gitlab.apptrium.io/-/profile/personal_access_tokens (set read access: read_api)
  2. Configure ~/.npmrc (change TOKEN):
$ 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
  1. If needed, update section [user] in ~/.gitconfig:
[user]
email = <your email>
name = <your name>
  1. Add public SSH key into GitLab https://gitlab.apptrium.io/-/profile/keys
  2. Install npm@10+ + node@22 (we are on LTS)
  3. Check if frontend is accessible. If not - contact #devops-support asking the following: Please give <name> role "developer" for the group "frontend"
  4. 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
  1. 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
  1. 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
  1. Get familiar with Module Federation
  2. Introduce ProjectId for widgets
  3. Describe the release/publish processes taking wlabel pipelines as an example
  4. Create a meeting in Microsoft Teams

Info - DE

  1. Log into https://staging.de.apptrium.cloud/
  2. Clone douglas-fe-be
  3. Install/setup mongo
  4. Install/setup rabbitmq

Info - CLIC

  1. Log into https://clic-dev.apptrium.cloud/
  2. Clone clic-fe-be
  3. Install/setup mongo

Info - DEDM

  1. Log into https://staging.dm.de.apptrium.cloud/
  2. Clone dedm-fe-be
  3. Install/setup mongo
  4. 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();