Merge branch 'master' of github.com:IT4Change/IT4C.dev into history

This commit is contained in:
Wolfgang Huß 2023-11-03 11:58:57 +01:00
commit 9838a1a9f7
24 changed files with 9176 additions and 26819 deletions

20
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,20 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
rebase-strategy: "disabled"
schedule:
interval: weekly
day: "saturday"
timezone: "Europe/Berlin"
time: "03:00"
- package-ecosystem: npm
directory: "/"
rebase-strategy: "disabled"
schedule:
interval: weekly
day: "saturday"
timezone: "Europe/Berlin"
time: "03:00"

30
.github/webhooks/deploy.sh vendored Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
# Find current directory & configure paths
SCRIPT_PATH=$(realpath $0)
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
PROJECT_ROOT=$SCRIPT_DIR/../..
DEPLOY_DIR=$1
BUILD_DIR=$PROJECT_ROOT/docs/.vuepress/dist
# assuming you are already on the right branch
git pull -ff
GIT_REF=$(git rev-parse --short HEAD)
DEPLOY_DIR_REF=$DEPLOY_DIR-$GIT_REF
# Parameter is a proper directory?
if [ -d "$DEPLOY_DIR_REF" ]; then
return "Directory '$DEPLOY_DIR_REF' does already exist" 2>/dev/null || exit 1
fi
# Build the project
cd $PROJECT_ROOT
rm -R $BUILD_DIR
npm install
npm run build
# Copy files and Sym link
mkdir $DEPLOY_DIR_REF/
cp -r $BUILD_DIR/* $DEPLOY_DIR_REF/
ln -sfn $DEPLOY_DIR_REF $DEPLOY_DIR

37
.github/webhooks/hooks.json.template vendored Normal file
View File

@ -0,0 +1,37 @@
[
{
"id": "github",
"execute-command": "$PROJECT_ROOT/.github/webhooks/deploy.sh",
"pass-arguments-to-command": [
{
"source": "string",
"name": "$DEPLOY_DIR"
}
],
"command-working-directory": "$PROJECT_ROOT",
"trigger-rule": {
"and": [
{
"match": {
"type": "payload-hash-sha1",
"secret": "$WEBHOOK_GITHUB_SECRET",
"parameter": {
"source": "header",
"name": "X-Hub-Signature"
}
}
},
{
"match": {
"type": "value",
"value": "refs/heads/$WEBHOOK_GITHUB_BRANCH",
"parameter": {
"source": "payload",
"name": "ref"
}
}
}
]
}
}
]

4
.github/webhooks/webhook.template vendored Normal file
View File

@ -0,0 +1,4 @@
#!/sbin/openrc-run
command=webhook
command_args="-hooks $PROJECT_ROOT/.github/webhooks/hooks.json &"

View File

@ -1,7 +1,6 @@
name: "lint pull request CI"
on:
#pull_request:
pull_request_target:
types:
- opened
@ -12,6 +11,7 @@ jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
if: ${{ github.actor != 'dependabot[bot]' }}
steps:
- uses: amannn/action-semantic-pull-request@v5
env:

View File

@ -8,10 +8,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Node 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: npm-install
run: npm install
- name: npm-build
run: npm run build:workflow
run: npm run build

View File

@ -8,7 +8,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Node 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: npm-install
run: npm install

View File

@ -12,12 +12,17 @@ jobs:
- name: Checkout
uses: actions/checkout@master
- name: Setup Node 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: vuepress-deploy
uses: jenkey2011/vuepress-deploy@v1.8.1
uses: jenkey2011/vuepress-deploy@master
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
TARGET_REPO: IT4Change/IT4C.dev
TARGET_BRANCH: gh-pages
BUILD_SCRIPT: npm install && npm run build:workflow
BUILD_SCRIPT: npm install && npm run build-node16
BUILD_DIR: docs/.vuepress/dist
CNAME: https://www.it4c.dev
# CNAME: https://www.it4c.dev

3
.gitignore vendored
View File

@ -1,3 +1,6 @@
.DS_Store
/node_modules/
/docs/.vuepress/dist/
/docs/.vuepress/.cache/
/docs/.vuepress/.temp/
/.github/webhooks/hooks.json

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
v19

View File

@ -42,6 +42,56 @@ Run the tests to ensure everything is working as expected
npm test
```
## Deploy
You can use the webhook template `webhook.conf.template` and the `deploy.sh` script in `.github/webhooks/` for an automatic deployment from a (github) webhook.
For this to work follow these steps (using alpine):
```bash
apk add webhook
cp .github/webhooks/hooks.json.template .github/webhooks/hooks.json
vi .github/webhooks/hooks.json
# adjust content of .github/webhooks/hooks.json
# replace all variables accordingly
# copy webhook service file
cp .github/webhooks/webhook.template /etc/init.d/webhook
vi /etc/init.d/webhook
# adjust content of /etc/init.d/webhook
chmod +x /etc/init.d/webhook
service webhook start
rc-update add webhook boot
vi /etc/nginx/http.d/default.conf
# adjust the nginx config
# location /hooks/ {
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
# proxy_set_header X-Forwarded-For $remote_addr;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header Host $host;
#
# proxy_pass http://127.0.0.1:9000/hooks/;
# proxy_redirect off;
#
# #access_log $LOG_PATH/nginx-access.hooks.log hooks_log;
# #error_log $LOG_PATH/nginx-error.backend.hook.log warn;
# }
```
For the github webhook configure the following:
| Field | Value |
|------------------------------------------------------|-------------------------------|
| Payload URL | https://it4c.dev/hooks/github |
| Content type | application/json |
| Secret | A SECRET |
| SSL verification | Enable SSL verification |
| Which events would you like to trigger this webhook? | Send me everything. |
| Active | [x] |
## How it works
This repository utilizes `vuepress-deploy` to automatically deploy the current `master` branch to github pages.

View File

@ -1,67 +1,79 @@
const path = require('path')
module.exports = {
import { searchProPlugin } from 'vuepress-plugin-search-pro'
import { hopeTheme } from 'vuepress-theme-hope'
import { defineUserConfig } from 'vuepress'
export default defineUserConfig({
title: 'IT Team for Change',
description: 'IT4C.dev introduces the IT Team for Change, applied Philosophy and Projects.',
head: [
['meta', {name: 'viewport', content: 'width=device-width,initial-scale=1'}]
],
theme: 'vuepress-theme-book',
themeConfig: {
// logo: "/logo.png",
searchPlaceholder: "Search...",
lastUpdated: "Last Updated",
docsRepo: "https://github.com/IT4Change/IT4C.dev/",
docsDir: "docs",
editLinks: true,
editLinkText: 'Edit this page on Github',
nav: [
theme: hopeTheme({
logo: '/it4c-logo2.png',
docsRepo: 'https://github.com/IT4Change/IT4C.dev',
docsBranch: 'master',
docsDir: 'docs',
editLink: true,
lastUpdated: false,
contributors: false,
navbar: [
{ text: 'IT4C', link: '/' },
{ text: 'Contact', link: '/contact' },
{
text: 'Github',
link:
'https://github.com/IT4Change'
link: 'https://github.com/IT4Change'
},
],
sidebar: {
'/': [
{
title: '',
collapsable: false,
sidebarDepth: 0,
children: [
['/', 'IT4C'],
['/history', 'History'],
['/contact', 'Contact']
]
},
{
title: 'Projects',
collapsable: false,
children: [
['/projects/gradido', 'Gradido'],
//['/extras/contributing', 'Contributing ✨'],
//['/extras/license', 'License 📚']
]
},
{
title: 'People',
collapsable: false,
children: [
['/people/alexander-friedland', 'Alexander Friedland'],
['/people/mathias-lenz', 'Mathias Lenz'],
['/people/ulf-gebhardt', 'Ulf Gebhardt'],
['/people/wolfgang-huss', 'Wolfgang Huß'],
]
},
]
},
},
configureWebpack: {
resolve: {
alias: {
'@images': path.resolve(__dirname, '../images')
sidebar: [
{
text: 'IT4C',
link: '/',
collapsible: false,
children: [
'/history',
'/contact'
]
},
{
text: 'Projects',
collapsible: false,
children: [
{
text: 'Gradido Software',
link: '/projects/gradido'
},
// { link: '/extras/contributing', text: 'Contributing ✨' },
// { link: '/extras/license', text: 'License 📚' },
]
},
{
text: 'People',
collapsible: false,
children: [
'/people/alexander-friedland',
'/people/hannes-heine',
{ link: '/people/mathias-lenz', text: 'Mathias Lenz' },
'/people/moriz-wahl',
'/people/ulf-gebhardt',
'/people/wolfgang-huss'
]
}
}
},
}
],
}),
plugins: [
searchProPlugin({
indexContent: true,
autoSuggestions: true,
customFields: [
{
getter: (page) => page.frontmatter.category,
formatter: "Category: $content",
},
{
getter: (page) => page.frontmatter.tag,
formatter: "Tag: $content",
},
],
}),
],
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

View File

@ -18,4 +18,4 @@ You can also join our [Telegram Channel](https://t.me/+A3XAurSG9ws3NjE6) to get
If you are looking for a developer team and you consider hiring (some of) us, please make sure to also provide a detailed project description, outlining goals, time frame, social impact and wether the project will be open- or closed source.
We will work with you to archive your goals in a sustainable manner. We will make sure knowledge is spread within the team and we will integrate with your existing IT department to ensure scalability.
We will work with you to achieve your goals in a sustainable manner. We will make sure knowledge is spread within the team and we will integrate with your existing IT department to ensure scalability.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -24,13 +24,13 @@ In the following we list some projects we are proud of:
Since we constantly try to recruit new members this list is not complete.
- [Alexander Friedland](./people/alexander-friedland.md)
- [Hannes Heine](./people/hannes-heine.md)
- [Mathias Lenz](./people/mathias-lenz.md)
- [Moriz Wahl](./people/moriz-wahl.md)
- [Ulf Gebhardt](./people/ulf-gebhardt.md)
- [Wolfgang Huß](./people/wolfgang-huss.md)
- Moriz <!--[Moriz](./people/moriz-wahl.md))-->
- Claus-Peter <!--[Claus-Peter](./people/claus-peter-huebner.md))-->
- Hardi <!--[Hardi](./people/chrisopher-.md))-->
- Hannes <!--[Hannes](./people/hannes-heine.md))-->
<!-- ## Organisationen -->
<!-- textlint-disable period-in-list-item -->

111
docs/people/hannes-heine.md Normal file
View File

@ -0,0 +1,111 @@
# Hannes Heine
## Presentation
![Hannes Heine](../images/portrait/hannes-heine.jpg)
I was born in Germany and raised in France, so I speak both languages fluently. In my free time I like to play video games, do Reiki and all kind of sports.
As child, except for my interest for sports, I always excelled in sciences. In 10th grade I came across coding, the starting time was so exiting, I had the impression that I could do magic on a small device. It captivated me so much that after my graduation in 2008 (baccalauréat), I studied for 3 years in the beautiful city of Toulouse (mathematics, mechanics and informatics).
After that I moved back to Germany in the city were I was born - Hamburg.
## Work
### Hired jobs
- White Paper Media ltd. now known as [OktoPOS](https://www.oktopos.com/en/#!) and [OktoCareer](https://www.oktocareer.com/en/home)
> My role was a software engineer, my tasks was mainly to work on the OkotoPOS project with allot of data transfer from an application to another and a little bit of Frontend <!-- textlint-disable max-comma -->(Java, JUnit, jersey, hibernate, etc.)<!-- textlint-enable max-comma -->.
- [MSP AG](https://www.mspag.com/en)
> Their my role was a software engineer. I helped to plan and develope import and export of data for different clients in the Censhare backend <!-- textlint-disable max-comma -->(Java, JaxRS, XPATH, XSLT, XLIFF, JavaPOI, etc.)<!-- textlint-enable max-comma -->.
### Freelance projects
- [DeutscheSee Online Shop](https://www.deutschesee.de/shop/)
> My tasks their were to help on their Shopware shop (PHP, Laravel, etc.) development and on their own application (AngularJS) that was used by their manufactures to send back the correct weight of the sold product.
- Human Connection
> I helped them to translate from German to French.
- Gradido
> I do tasks from backend <!-- textlint-disable max-comma -->(GraphQL, TypeScript, TypeORM, etc.)<!-- textlint-enable max-comma --> to frontend <!-- textlint-disable max-comma -->(VueJS, Bootstrap, etc.)<!-- textlint-enable max-comma -->.
- Setup of different small Shopware shops and CMS sites
> (Hosting, Configuration, etc.)
You can find me on [Github](https://github.com/elweyn)
## Role
- DevOps
- Backend Developer
- Software & Database architect
- Scrum Master
- Design-Eye
## Spoken languages
- French fluently
- German fluently
- English written and spoken
## Coding languages
In my software years I had allot of different languages listed behind are the one that I used the most.
### For Javascript
- [Node](https://github.com/nodejs/node)
- [Vue](https://vuejs.org/)
- [Express](https://expressjs.com/)
- [Apollo](https://www.apollographql.com/docs/apollo-server/)
- [Angular](https://angular.io/)
- [GraphQL](https://graphql.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [TypeORM](https://typeorm.io/)
### For Java
- [JAX-RS](https://www.oracle.com/technical-resources/articles/java/jax-rs.html)
- [Apache POI](https://poi.apache.org/)
- [JavaPOS](https://en.wikipedia.org/wiki/JavaPOS)
- [JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity)
### For PHP
- [Shopware](https://www.shopware.com/)
- [Wordpress](https://wordpress.org/)
### Web basics
- [HTML](https://en.wikipedia.org/wiki/HTML)
- [CSS](https://en.wikipedia.org/wiki/CSS)
- [Bootstrap](https://getbootstrap.com/)
- [XSLT](https://en.wikipedia.org/wiki/XSLT)
- [XPath](https://en.wikipedia.org/wiki/XPath)
- [XLIFF](https://en.wikipedia.org/wiki/XLIFF)
### Webserver
- [Apache](https://httpd.apache.org/)
- [nginx](https://nginx.org/en/)
- [Express](https://expressjs.com/)
### Database
- [Mysql](https://www.mysql.com/)
- [MariaDB](https://mariadb.org/)
- [PostgreSQL](https://www.postgresql.org/)
- [Oracle](https://www.oracle.com/)
### Development
- [Git](https://git-scm.com/)
- [Github](https://github.com/)
- [Kanaban](https://en.wikipedia.org/wiki/Kanban)
- [Agile software development](https://en.wikipedia.org/wiki/Agile_software_development)

View File

@ -1,6 +1,6 @@
# Mathias
![Mathias](~@images/portrait/ml-portrait.jpg)
![Mathias](../images/portrait/ml-portrait.jpg)
Rooted in DIY crafting and interest in language, patterns, and human connections.
In school years first self taught steps where made towards computer systems and programming.

52
docs/people/moriz-wahl.md Normal file
View File

@ -0,0 +1,52 @@
# Moriz Wahl
![Moriz Wahl](../images/portrait/moriz-wahl.jpg)
I was given a ZX81 when I was 8 years old. Since then, my
fascination for programming has never stopped.
## Roles
- Management
- Unit testing
- Backend developer
- Frontend developer
- Typography
- Database developer
- Motivation
## Spoken languages
- German (mother tongue)
- English (orally and in writing)
- Spanish (orally and in writing)
## Expertise & Projects
After my studies I was working eight years for
[le-tex](https://www.le-tex.de/), where I learned a lot about
typography, data conversion, process automation and team management.
I worked for small companies offering services for big enterprises,
getting in touch with logistics and risc management.
In 2019 I started contributing to the open source project Human
Connection. [ocelot.social](https://github.com/Ocelot-Social-Community) and
[Gradido](https:gdd.gradido.net) followed.
## Computer languages
- [Javascript](https://www.javascript.com/)
- [C#](https://dotnet.microsoft.com/en-us/languages/csharp)
- [Python](https://www.python.org/)
- [LaTeX](https://www.latex-project.org/)
- [Lisp/eLisp](https://www.gnu.org/software/emacs/manual/elisp.html)
- [XSLT2.0/XPath2.0](https://en.wikipedia.org/wiki/XSLT)
- [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language))
- [BASIC](https://en.wikipedia.org/wiki/BASIC)
- [SQL](https://en.wikipedia.org/wiki/SQL)
- [Cypher](https://opencypher.org/)
- [HTML](https://en.wikipedia.org/wiki/HTML)
- [CSS](https://en.wikipedia.org/wiki/CSS)
- [SASS](https://en.wikipedia.org/wiki/Sass_(stylesheet_language))

View File

@ -1,6 +1,6 @@
# Ulf Gebhardt
![Ulf Gebhardt](~@images/portrait/ulf-gebhardt.jpg)
![Ulf Gebhardt](../images/portrait/ulf-gebhardt.jpg)
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 its 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.

View File

@ -1,16 +1,14 @@
<!-- textlint-disable write-good -->
# Wolfgang Huß
![Bild Wolfgang Huß](~@images/portrait/Wolfgang_Huss.jpeg)
![Bild Wolfgang Huß](../images/portrait/Wolfgang_Huss.jpeg)
<!-- Seit meinem 14. Lebensjahr, also seit Anfang 1983, beschäftige ich mich nun schon mit Programmierung.
Dabei bin ich durch einige Phasen interessanter technologischer Veränderungen gegangen.
Diese erlernte ich Überwiegend autodidaktisch und in Pairing-Sessions. -->
Dabei bin ich durch mehrere Phasen interessanter technologischer Veränderungen gegangen und habe die neuen Technologien hauptsächlich autodidaktisch und in Pairing-Sitzungen erlernt. -->
Since I was 14 years old, that is since the beginning of 1983, I have been involved in programming.
I have gone through several phases of interesting technological changes.
I learned these mainly self-taught and in pairing sessions.
In the process, I have gone through several phases of interesting technological change, learning the new technologies mainly self-taught and in pairing sessions.
<!-- Programmieren ist wie eine interaktive Geschichte erzählen, die dazu oft noch gestalterisch visuelle Komponenten trägt.
<!-- Programmieren ist wie das Erzählen einer interaktiven Geschichte, die oft auch eine gestalterisch visuelle Komponente hat.
Mir gefällt besonders die künstlerisch strukturelle Ästetik, wenn ich komplexe Projekte in faszinierenden Programmiersprachen umsetze. -->
Programming is like telling an interactive story, which often has visual components as well.
I particularly enjoy the artistic structural aesthetics when implementing complex projects in fascinating programming languages.
@ -68,9 +66,9 @@ I developed and contributed to different projects:
- Frontend development
- Backend development
- Server setup
- Owner of iOS [FaceYourFace](https://apps.apple.com/de/app/faceyourface/id1137963659) App
- Owner of [FaceYourFace](https://apps.apple.com/de/app/faceyourface/id1137963659) App for iOS
- Developer
- Owner of Windows `Pjannto RIP` App
- Owner of `Pjannto RIP` App for Windows
- Developer
## Approaches & Tools

35495
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"main": "index.js",
"scripts": {
"build": "NODE_OPTIONS=--openssl-legacy-provider vuepress build docs",
"build:workflow": "vuepress build docs",
"build-node16": "vuepress build docs",
"dev": "NODE_OPTIONS=--openssl-legacy-provider vuepress dev docs",
"test": "textlint \"*.md\" \"docs/**/*.md\""
},
@ -21,21 +21,22 @@
"homepage": "https://github.com/IT4Change/IT4C.dev#readme",
"devDependencies": {
"@textlint-rule/textlint-rule-no-unmatched-pair": "^1.0.9",
"textlint": "^12.4.0",
"textlint": "^13.3.3",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-apostrophe": "^2.0.0",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-doubled-spaces": "^1.0.0",
"textlint-rule-max-comma": "^2.0.2",
"textlint-rule-doubled-spaces": "^1.0.2",
"textlint-rule-max-comma": "^3.0.1",
"textlint-rule-no-dead-link": "^5.1.2",
"textlint-rule-no-empty-element": "^0.3.1",
"textlint-rule-no-empty-section": "^1.1.0",
"textlint-rule-no-start-duplicated-conjunction": "^2.0.2",
"textlint-rule-no-todo": "^2.0.1",
"textlint-rule-no-zero-width-spaces": "^1.0.1",
"textlint-rule-period-in-list-item": "^0.3.3",
"textlint-rule-period-in-list-item": "^1.0.1",
"textlint-rule-write-good": "^2.0.0",
"vuepress": "^1.9.7",
"vuepress-theme-book": "^0.0.9"
"vuepress": "^2.0.0-beta.67",
"vuepress-plugin-search-pro": "^2.0.0-beta.237",
"vuepress-theme-hope": "^2.0.0-beta.238"
}
}