mirror of
https://github.com/IT4Change/IT4C.dev.git
synced 2025-12-13 09:25:49 +00:00
Merge branch 'master' into m-profile
This commit is contained in:
commit
a180c4e3e6
69
.github/workflows/lint_pr.yml
vendored
Normal file
69
.github/workflows/lint_pr.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
name: "lint pull request CI"
|
||||||
|
|
||||||
|
on:
|
||||||
|
#pull_request:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
name: Validate PR title
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: amannn/action-semantic-pull-request@v5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
# Configure which types are allowed (newline delimited).
|
||||||
|
# Default: https://github.com/commitizen/conventional-commit-types
|
||||||
|
#types: |
|
||||||
|
# fix
|
||||||
|
# feat
|
||||||
|
# Configure which scopes are allowed (newline delimited).
|
||||||
|
scopes: |
|
||||||
|
content
|
||||||
|
workflow
|
||||||
|
other
|
||||||
|
# Configure that a scope must always be provided.
|
||||||
|
requireScope: true
|
||||||
|
# Configure which scopes (newline delimited) are disallowed in PR
|
||||||
|
# titles. For instance by setting # the value below, `chore(release):
|
||||||
|
# ...` and `ci(e2e,release): ...` will be rejected.
|
||||||
|
#disallowScopes: |
|
||||||
|
# release
|
||||||
|
# Configure additional validation for the subject based on a regex.
|
||||||
|
# This example ensures the subject doesn't start with an uppercase character.
|
||||||
|
subjectPattern: ^(?![A-Z]).+$
|
||||||
|
# If `subjectPattern` is configured, you can use this property to override
|
||||||
|
# the default error message that is shown when the pattern doesn't match.
|
||||||
|
# The variables `subject` and `title` can be used within the message.
|
||||||
|
subjectPatternError: |
|
||||||
|
The subject "{subject}" found in the pull request title "{title}"
|
||||||
|
didn't match the configured pattern. Please ensure that the subject
|
||||||
|
doesn't start with an uppercase character.
|
||||||
|
# If you use GitHub Enterprise, you can set this to the URL of your server
|
||||||
|
#githubBaseUrl: https://github.myorg.com/api/v3
|
||||||
|
# If the PR contains one of these labels (newline delimited), the
|
||||||
|
# validation is skipped.
|
||||||
|
# If you want to rerun the validation when labels change, you might want
|
||||||
|
# to use the `labeled` and `unlabeled` event triggers in your workflow.
|
||||||
|
#ignoreLabels: |
|
||||||
|
# bot
|
||||||
|
# ignore-semantic-pull-request
|
||||||
|
# If you're using a format for the PR title that differs from the traditional Conventional
|
||||||
|
# Commits spec, you can use these options to customize the parsing of the type, scope and
|
||||||
|
# subject. The `headerPattern` should contain a regex where the capturing groups in parentheses
|
||||||
|
# correspond to the parts listed in `headerPatternCorrespondence`.
|
||||||
|
# See: https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-commits-parser#headerpattern
|
||||||
|
headerPattern: '^(\w*)(?:\(([\w$.\-*/ ]*)\))?: (.*)$'
|
||||||
|
headerPatternCorrespondence: type, scope, subject
|
||||||
|
# For work-in-progress PRs you can typically use draft pull requests
|
||||||
|
# from GitHub. However, private repositories on the free plan don't have
|
||||||
|
# this option and therefore this action allows you to opt-in to using the
|
||||||
|
# special "[WIP]" prefix to indicate this state. This will avoid the
|
||||||
|
# validation of the PR title and the pull request checks remain pending.
|
||||||
|
# Note that a second check will be reported if this is enabled.
|
||||||
|
wip: true
|
||||||
12
README.md
12
README.md
@ -13,7 +13,7 @@ This package requires:
|
|||||||
This package uses:
|
This package uses:
|
||||||
- [vuepress](https://github.com/vuejs/vuepress)
|
- [vuepress](https://github.com/vuejs/vuepress)
|
||||||
- [vuepress-theme-book](https://github.com/cyrilf/vuepress-theme-book)
|
- [vuepress-theme-book](https://github.com/cyrilf/vuepress-theme-book)
|
||||||
|
- [vuepress-deploy](https://github.com/jenkey2011/vuepress-deploy)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -40,4 +40,12 @@ Run the tests to ensure everything is working as expected
|
|||||||
|
|
||||||
```
|
```
|
||||||
npm test
|
npm test
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
|
This repository utilizes `vuepress-deploy` to automatically deploy the current `master` branch to github pages.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A Pullrequest-Review-Workflow is applied to get changes into the `master`. From there on an automatic github workflow script utilizing `vuepress-deploy` is taking over. The vuepress page is built and force-pushed to the `gh-pages` branch, which in turn is then deployed on the github pages infrastructure and bound to the web address [IT4C.dev](https://www.it4c.dev).
|
||||||
|
|||||||
138
docs/images/docs/architecture.drawio
Normal file
138
docs/images/docs/architecture.drawio
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
<mxfile host="65bd71144e">
|
||||||
|
<diagram id="meJA_rg5n3EOEVvTAqwo" name="Page-1">
|
||||||
|
<mxGraphModel dx="1679" dy="836" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#4D4D4D" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0"/>
|
||||||
|
<mxCell id="1" parent="0"/>
|
||||||
|
<mxCell id="41" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1" source="5" target="38">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="42" value="1. force push" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;fontColor=#FFFFFF;" vertex="1" connectable="0" parent="41">
|
||||||
|
<mxGeometry x="-0.3753" y="2" relative="1" as="geometry">
|
||||||
|
<mxPoint x="10" y="12" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="44" value="2. gh-pages deploy from branch" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;jumpStyle=none;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;labelBackgroundColor=none;" edge="1" parent="1" source="5" target="43">
|
||||||
|
<mxGeometry x="0.3208" y="-15" relative="1" as="geometry">
|
||||||
|
<mxPoint as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5" value="vuepress-build<br>Workflow" style="rhombus;whiteSpace=wrap;html=1;fillColor=#a0522d;fontColor=#ffffff;strokeColor=#6D1F00;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="760" y="41" width="160" height="119" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="21" value="open PR" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;connectable=1;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;labelBackgroundColor=none;" edge="1" parent="1" target="17">
|
||||||
|
<mxGeometry x="0.0127" y="-13" relative="1" as="geometry">
|
||||||
|
<mxPoint x="200" y="100" as="sourcePoint"/>
|
||||||
|
<mxPoint as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="12" value="PR branch" style="swimlane;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="40" y="40" width="160" height="113" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="14" value="Commit #1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#647687;fontColor=#ffffff;strokeColor=#314354;" vertex="1" parent="12">
|
||||||
|
<mxGeometry y="83" width="160" height="30" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="15" value="Commit #2" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#647687;fontColor=#ffffff;strokeColor=#314354;" vertex="1" parent="12">
|
||||||
|
<mxGeometry y="53" width="160" height="30" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="16" value="Commit #3<br>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#647687;fontColor=#ffffff;strokeColor=#314354;" vertex="1" parent="12">
|
||||||
|
<mxGeometry y="23" width="160" height="30" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="34" value="merge" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.404;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;labelBackgroundColor=none;" edge="1" parent="1" source="17" target="32">
|
||||||
|
<mxGeometry x="0.0005" y="-13" relative="1" as="geometry">
|
||||||
|
<mxPoint as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="17" value="Pullrequest-Review<br>Workflow" style="rhombus;whiteSpace=wrap;html=1;fillColor=#a0522d;fontColor=#ffffff;strokeColor=#6D1F00;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="279" y="40" width="160" height="120" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="26" value="review" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;labelBackgroundColor=none;" edge="1" parent="1" target="17">
|
||||||
|
<mxGeometry x="0.0137" relative="1" as="geometry">
|
||||||
|
<mxPoint x="359.412429378531" y="230" as="sourcePoint"/>
|
||||||
|
<mxPoint x="360" y="170" as="targetPoint"/>
|
||||||
|
<mxPoint as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="23" value="Reviewer" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#eeeeee;strokeColor=#FFFFFF;fontColor=#FFFFFF;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="352" y="230" width="15" height="31" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="37" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1" target="5">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="680" y="101" as="sourcePoint"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="40" value="on merge" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;fontColor=#FFFFFF;" vertex="1" connectable="0" parent="37">
|
||||||
|
<mxGeometry x="-0.6632" relative="1" as="geometry">
|
||||||
|
<mxPoint x="24" y="12" as="offset"/>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="27" value="master branch" style="swimlane;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="520" y="41" width="160" height="289" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="28" value="PR Merge #1" style="rounded=0;whiteSpace=wrap;html=1;fontColor=#ffffff;fillColor=#647687;strokeColor=#314354;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="201" width="160" height="89" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="31" value="PR Merge #2" style="rounded=0;whiteSpace=wrap;html=1;fontColor=#ffffff;fillColor=#647687;strokeColor=#314354;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="112" width="160" height="89" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="32" value="PR Merge #3" style="rounded=0;whiteSpace=wrap;html=1;fontColor=#ffffff;fillColor=#647687;strokeColor=#314354;" vertex="1" parent="27">
|
||||||
|
<mxGeometry y="23" width="160" height="89" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="35" value="" style="endArrow=classic;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1" target="31">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="480" y="198" as="sourcePoint"/>
|
||||||
|
<mxPoint x="691" y="221" as="targetPoint"/>
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="480" y="198"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="36" value="" style="endArrow=classic;html=1;dashed=1;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="480" y="287" as="sourcePoint"/>
|
||||||
|
<mxPoint x="521" y="287" as="targetPoint"/>
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="481" y="287"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="45" style="edgeStyle=orthogonalEdgeStyle;jumpStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=#FFFFFF;strokeColor=#FFFFFF;" edge="1" parent="1" source="38" target="43">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="38" value="gh-pages branch" style="swimlane;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1000" y="41" width="200" height="120" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="39" value="latest built files<br>Commit #1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#647687;strokeColor=#314354;fontColor=#ffffff;" vertex="1" parent="38">
|
||||||
|
<mxGeometry y="23" width="200" height="97" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="43" value="github-pages infrastructrue<br>https://www.it4c.dev" style="shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1000" y="200" width="200" height="130" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="46" value="" style="endArrow=classic;html=1;dashed=1;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="680" y="198" as="sourcePoint"/>
|
||||||
|
<mxPoint x="720" y="198" as="targetPoint"/>
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="198"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="47" value="" style="endArrow=classic;html=1;dashed=1;fillColor=#f9f7ed;strokeColor=#FFFFFF;fontColor=#FFFFFF;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="680" y="284" as="sourcePoint"/>
|
||||||
|
<mxPoint x="720" y="284" as="targetPoint"/>
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="284"/>
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;strokeColor=none;fontColor=#FFFFFF;fillColor=none;gradientColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry width="20" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="50" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;strokeColor=none;fontColor=#FFFFFF;fillColor=none;gradientColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1220" y="340" width="20" height="20" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
BIN
docs/images/docs/architecture.png
Normal file
BIN
docs/images/docs/architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Ulf is a software developer through and through. He started to program when he was 12 and kept going with it. He knows about the possibilities soft- and hardware has to offer and is the person to turn to when it’s time to include a new library or <!-- textlint-disable write-good --> implement<!-- textlint-enable write-good --> an algorithm. He is known to use the "Holzhammer-Methode" (brute-force approach) when it comes to solve conflicts within the team.
|
Ulf is a software developer through and through. He started to program when he was 12 and kept going with it. He knows about the possibilities software and hardware have to offer and is the person to turn to when it’s time to include a new library or <!-- textlint-disable write-good --> implement<!-- textlint-enable write-good --> an algorithm. He is known to use the "Holzhammer-Methode" (brute-force approach) when it comes to solve conflicts within the team.
|
||||||
|
|
||||||
In his free time he programs as every good programmer does and travels the world by foot when it’s time to leave the screen for a while.
|
In his free time he programs as every good programmer does and travels the world by foot when it’s time to leave the screen for a while.
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ here is a quick overview over the computer languages, frameworks and technologie
|
|||||||
|
|
||||||
### Computer languages
|
### Computer languages
|
||||||
|
|
||||||
Ulf has worked with the following Programming languages:
|
Ulf has worked with the following programming languages:
|
||||||
|
|
||||||
- [Javascript](https://www.javascript.com/)
|
- [Javascript](https://www.javascript.com/)
|
||||||
- [PHP](https://www.php.net/)
|
- [PHP](https://www.php.net/)
|
||||||
@ -87,7 +87,7 @@ Ulf has worked with the following Programming languages:
|
|||||||
|
|
||||||
### Frameworks & Technologies
|
### Frameworks & Technologies
|
||||||
|
|
||||||
As IT grows more complex it’s important with which frameworks is familiar. The following represents an incomplete list of Ulf’s framework and technology knowledge:
|
As IT grows more complex it’s important which frameworks one is familiar with. The following represents an incomplete list of Ulf’s framework and technology knowledge:
|
||||||
|
|
||||||
#### For Javascript:
|
#### For Javascript:
|
||||||
- [Node](https://github.com/nodejs/node)
|
- [Node](https://github.com/nodejs/node)
|
||||||
@ -144,6 +144,6 @@ As IT grows more complex it’s important with which frameworks is familiar. The
|
|||||||
- [Gitlab](https://about.gitlab.com/)
|
- [Gitlab](https://about.gitlab.com/)
|
||||||
- [Gogs](https://gogs.io/)
|
- [Gogs](https://gogs.io/)
|
||||||
- [Github Workflows](https://docs.github.com/en/rest/actions/workflows)
|
- [Github Workflows](https://docs.github.com/en/rest/actions/workflows)
|
||||||
- [Kanaban](https://en.wikipedia.org/wiki/Kanban)
|
- [Kanban](https://en.wikipedia.org/wiki/Kanban)
|
||||||
- [Zenhub](https://www.zenhub.com/)
|
- [Zenhub](https://www.zenhub.com/)
|
||||||
- [Agile software development](https://en.wikipedia.org/wiki/Agile_software_development)
|
- [Agile software development](https://en.wikipedia.org/wiki/Agile_software_development)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user