diff --git a/src/images/work_infinidat_logo.png b/src/images/work_infinidat_logo.png new file mode 100644 index 0000000..cb95ab5 Binary files /dev/null and b/src/images/work_infinidat_logo.png differ diff --git a/src/images/work_sembot_logo.png b/src/images/work_sembot_logo.png new file mode 100644 index 0000000..9ecc0e6 Binary files /dev/null and b/src/images/work_sembot_logo.png differ diff --git a/src/images/work_sii_logo.png b/src/images/work_sii_logo.png new file mode 100644 index 0000000..1b04a41 Binary files /dev/null and b/src/images/work_sii_logo.png differ diff --git a/src/images/work_techem_logo.png b/src/images/work_techem_logo.png new file mode 100644 index 0000000..63b8bab Binary files /dev/null and b/src/images/work_techem_logo.png differ diff --git a/src/images/work_ur_logo.png b/src/images/work_ur_logo.png new file mode 100644 index 0000000..36a823d Binary files /dev/null and b/src/images/work_ur_logo.png differ diff --git a/src/images/work_zse_logo.png b/src/images/work_zse_logo.png new file mode 100644 index 0000000..3a72799 Binary files /dev/null and b/src/images/work_zse_logo.png differ diff --git a/src/pages/index.js b/src/pages/index.js index 08cc6e4..d7e7e83 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -2,6 +2,13 @@ import * as React from "react" import "../styles/general.scss" import MePng from "../images/me_1.jpg" +import WorkZSELogo from "../images/work_zse_logo.png" +import WorkURLogo from "../images/work_ur_logo.png" +import WorkSembotLogo from "../images/work_sembot_logo.png" +import WorkSiiLogo from "../images/work_sii_logo.png" +import WorkInfinidatLogo from "../images/work_infinidat_logo.png" +import WorkTechemLogo from "../images/work_techem_logo.png" + const SegmentWithImage = ({ segment }) => { return ( @@ -53,6 +60,15 @@ const SegmentWithImage = ({ segment }) => { ) } +const MiniWorkImage = {{ image }} => { + return ( + + ) +} + const SegmentNormal = ({ segment }) => { return (
@@ -68,14 +84,31 @@ const SegmentNormal = ({ segment }) => {
  • { typeof segment.content[key] === "object" ? - key + ": " + segment.content[key].length === 1 ? + return ( + <> + + { key + "," } + + ) + : + return ( + <> + + { key + ": " } + + ) : key + "," }
      { typeof segment.content[key] === "object" ? - segment.content[key].map( (value, index) => { + segment.content[key].slice(1).map( (value, index) => { return (
    • { @@ -83,10 +116,35 @@ const SegmentNormal = ({ segment }) => { Object.keys( value ).map( ( key_two, index_two) => { return ( <> + { key_two + ": " }
        { typeof value === "object" ? + Object.keys( value[key_two] ).slice(1).map( (key_three, index_three) => { + return ( + <> + { key_three + ": " } +
          + { + typeof value[key_two][key_three] === "object" ? + value[key_two][key_three].map( (item, index_three) => { + return ( +
        • + { item + "," } +
        • + ) + } + : + "" + } +
        + + ) + } + : value[key_two].map( (item, index_three) => { return (
      • @@ -207,9 +265,16 @@ const IndexPage = () => { { title: "Doświadczenie", content: { - "Zespół Szkół Elektronicznych w Rzeszowie / Technikum nr 6 - Technik Informatyk - od 2013 do 2017": "", + "Zespół Szkół Elektronicznych w Rzeszowie / Technikum nr 6 - Technik Informatyk - od 2013 do 2017": [ + { + "image": WorkZSELogo, + } + ], "Uniwersytet Rzeszowski - Studia Inżynierskie - Informatyka - od 2017 do 2021": [ - { + { + "image": WorkURLogo, + }, + { "Praca Inżynierska - Graficzna baza układów dłoni na potrzeby systemu rozpoznawania Polskiego Języka Migowego (PJM)": [ "integracja Django / Django REST Framework z oprogramowaniem Blender", "integracja Djnago / Django REST Framework z bazą danych MongoDb podzielonej na fragmenty (shards)", @@ -223,9 +288,12 @@ const IndexPage = () => { ] } ], - "Sembot Sp. z o. o. - DevOps Engineer & Python Developer - od 01.11.2020 do 30.10.2022": [ + "Sembot Sp. z o. o. - od 01.11.2020 do 30.10.2022": [ + { + "image": WorkSembotLogo, + }, { - "Obowiązki": [ + "DevOps Engineer & Python Developer": [ "Administracja serwerów (OVH / AWS / Digital Ocean)", "Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)", "Automatyzacja operacji rutynowych (Ansible / Jenkins pipeline / Bash scripts)", @@ -235,16 +303,56 @@ const IndexPage = () => { ] } ], - "Sii Sp. z o. o. - Integration Developer - od 10.11.2022": [ + "Sii Sp. z o. o. - od 10.11.2022": [ { - "Obowiązki": [ - "Utrzymywanie infrastruktury serwerów (VMware / Vcenter / Vsphere / ESXi)", - "Wdrażanie hostów / węzłów Jenkinsa (Jenkins nodes - z różnymi wersjami distro Linux'a oraz Windows'a) pod budowę i integrację aplikacji (CI/CD)", - "Wdrażanie hostów Vcenter / Vsphere / ESXi", - "Rozwiązywanie problemów na etapie integracji (Jenkins - naprawa na podstawie testów)", - "Ulepszanie procesów oraz rozwiązań integracyjnych (Jenkins pipeline / Gitlab / Python / Bash)", - "Automatyzacja rutynowych czynności (Bash / Python / Ansible / Jenkins)", - ] + "image": WorkSiiLogo, + }, + { + "Infinidat Inc - od 10.11.2022 do 24.02.2023": [ + { + "image": WorkInfinidatLogo, + }, + { + "Integration Developer": [ + "Utrzymywanie infrastruktury serwerów (VMware / Vcenter / Vsphere / ESXi)", + "Wdrażanie hostów / węzłów Jenkinsa (Jenkins nodes - z różnymi wersjami distro Linux'a oraz Windows'a) pod budowę i integrację aplikacji (CI/CD)", + "Wdrażanie hostów Vcenter / Vsphere / ESXi", + "Rozwiązywanie problemów na etapie integracji (Jenkins - naprawa na podstawie testów)", + "Ulepszanie procesów oraz rozwiązań integracyjnych (Jenkins pipeline / Gitlab / Python / Bash)", + "Automatyzacja rutynowych czynności (Bash / Python / Ansible / Jenkins)", + ], + }, + ], + "Projekty Wewnętrzne - od 25.02.2023 do 27.05.2023": [ + { + "image": WorkSiiLogo, + }, + { + "DevOps Engineer": [ + "Utrzymywanie infrastruktury mikroserwisów (Docker / Kubernetes / Helm)", + "Utrzymywanie infrastruktury serwerów (Linux)", + "Automatyzacja konfiguracji serwerów (Ansible / Kubespray / Bash)", + "Ulepszanie / Utrzymywanie procesów zautomatyzowanych (Gitlab-CI), + "Automatyzacja raportowania przebiegu wdrożenia CI/CD (Gitlab-CI / SonarQube)", + ], + }, + ], + "Techem GmbH - od 30.05.2023": [ + { + "Image": WorkTechemLogo, + }, + { + "DevOps Engineer": [ + "Utrzymywanie Infrastruktury mikroserwisów (Docker / Docker Compose)", + "Utrzymywanie Infrastruktury serwerów (Jenkins Agent - Windows / Jenkins Master - Linux)", + "Automatyzacja konfiguracji serwerów (Ansible / Bash / Powershell)", + "Automatyzacja uruchamiania testów urządzeń IrDA na środowisku CI/CD (Regresja, Merge Request, Commit) (Jenkins CI/CD / Bash / Powershell / Python - TOX)", + "Automatyzacja bodwania i kolekcjonowania reużywalnych pakietów języka python (Jenkins CI/CD / Private PyPI / Python)", + "Automatyzacja raportowania testów (Jenkins CI/CD / Test-Result-Analyzer / Jira Xray)", + "Automatyzacja procesów walidujących kod (Pre-commit / Black Formatter / Flake8 / MyPY / etc.)" + ], + }, + ], } ] } @@ -530,11 +638,11 @@ const IndexPage = () => { } ] - let eng_ = "🇬🇧" - let pol_ = "🇵🇱" + let eng_ = "Wersja po Angielsku 🇬🇧" + let pol_ = "Polish Version 🇵🇱" - const [content_swapper, set_content_swap] = React.useState(eng_); - const [content, set_content] = React.useState(content_pl); + const [content_swapper, set_content_swap] = React.useState(pol_); + const [content, set_content] = React.useState(content_en); const swap_content = (event) => { event.preventDefault()