Projekte, Partnerschaften und Websites

Das ist ein kleiner Auszug meiner privaten Aktivit├Ąten und Projekte. Wenn Teil des Projektes eine Homepage ist, findet sich immer ein entsprechendes Bild mit ein paar Ger├Ąten, auf denen die Website ge├Âffnet ist.
F├╝r Projekte mit Banner oder Artworks nutze ich entsprechend diese.

Bei den Projekten findet sich dann entsprechend auch immer ein Verweis auf den Code, die Website, ein Manifest oder ├Ąhnliches. Zus├Ątzlich habe ich ├╝berall angepinnt, welche Kompetenzen ich f├╝r das Projekt einsetzen konnte.


IntellIJ MJML Support

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

04/2021 - heute

Link

https://github.com/timo-reyman ...

Kompetenzen

Kotlin Git JavaScript NodeJS CircleCI GitHub

Ein weiteres Plugin f├╝r die Intellij-Plattform entstand aus der Not heraus MJML mit WebStorm bearbeiten zu k├Ânnen und dabei auch erweiterte Use-Cases abzudecken. Hier existieren Plugins f├╝r VS Code und Atom, jedoch nutze ich nicht wirklich gerne eines der beiden Tools.

Innerhalb einer Woche knackte das Plugin die 1k-Download-Marke! Per Mail bekam ich hierzu schon sehr viel positive Resonanz und nutze es selbst (fast) t├Ąglich.

Bei diesem Plugin konnte ich meine bereits gewonnene Erfahrung aus der Plugin-Entwicklung nutzen. F├╝r den Preview war es notwendig, wieder etwas in die Node.js-Trickkiste zu greifen.

Ansible Vault Integration

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

05/2020 - heute

Link

https://github.com/timo-reyman ...

Kompetenzen

Git Java Ansible

Dieses Plugin entstand aus der Not heraus, Secrets immer umst├Ąndlich ├╝ber die Vault-CLI zu encrypten und decrypten.

Um diesem Problem Abhilfe zu schaffen, habe ich ein kleines Plugin f├╝r IntelliJ gebaut. Hierbei wird in YAML-Files bei Secrets entsprechend die Context-Action angeboten, diese zu entschl├╝sseln und in die Zwischenablage zu kopieren. Dadurch kommt man sehr schnell und unkompliziert an gevaultete Secrets.

Auch f├╝r das Verschl├╝sseln von Passw├Ârtern in YAML bietet das Plugin entsprechend eine Context-Action an, um hier nicht die IDE verlassen zu m├╝ssen.

Da ich bei verschiedenen Projekten teilweise unterschiedliche Konfigurationen f├╝r das Vault-Password-File o. ├ä. nutze und hier auch dem User des Plugins alle M├Âglichkeiten offen zu halten kann auf Projektebene konfiguriert werden, wie Ansible-Vault aufgerufen wird.

Ratix (deine-nacht.de)

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

11/2019 - 07/2021

Link

https://deine-nacht.de/?pk_cam ...

Kompetenzen

Responsive Design Vuetify Docker CSS3 Go Java Spring Boot Vue TypeScript Ansible Git Gitlab HTML5 MongoDB Rest

Zusammen mit Luca Wunderlich entwickelte ich ein System (Codename Ratix), inklusive Veranstaltungsportal f├╝r Michael Bierk├Âgler. Ziel des Projektes war eine Plattform zu entwickeln, auf der die Veranstaltungen, Muttizettel usw. bereitgestellt werden k├Ânnen.

Das System wurde hierbei in verschiedene Komponenten heruntergebrochen, die ├╝ber HTTP kommunizieren. Zentrale Stelle ist hierbei die API, diese wurde mit Spring Boot umgesetzt und l├Ąuft in einem Docker-Container. F├╝r die Persistenz der Daten kommt hier MongoDB zum Einsatz. Das erm├Âglicht eine flexible Anpassung der Datenstruktur, und eine schnelle, effiziente Entwicklung.

F├╝r spezielle Funktionalit├Ąten, wie das Importieren der Facebook-Veranstaltungen oder das Generieren der Muttizettel kommt hier Go zum Einsatz. Die entsprechenden Anwendungen laufen hierbei auch in separaten Docker-Containern.

Das Portal f├╝r die Suche von Veranstaltungen wurde in Vue.js realisiert, als UI-Framework kam hierbei Vuetify zum Einsatz. Durch diese Kombination entstand eine moderne und f├╝r alle Ger├Ąte optimal benutzbare Benutzeroberfl├Ąche.

Um die wiederkehrenden und manuellen Tasks zu vermeiden, kam f├╝r den Build- & Deployment-Prozess Gitlab zum Einsatz, f├╝r die DNS-Eintr├Ąge wurde hier Ansible eingesetzt.

composer-dump-autoload-phpstorm-plugin

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

09/2019 - 08/2022

Link

https://github.com/timo-reyman ...

Kompetenzen

Git Java CircleCI GitHub

Bei der Arbeit mit PHP und dem Dependency-Management-Tool composer st├Ârte es mich nach einiger Zeit extrem bei jeder Code-├änderungen, die f├╝r das Autoloading relevant ist, manuell einzugreifen.

Um dem Ganzen entgegenzuwirken entstand dieses Plugin. Der Name ist hierbei zugegebenerma├čen ziemlich unkreativ, wenn auch sehr deskriptiv.

git-semver-tag

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

09/2019 - heute

Link

https://github.com/timo-reyman ...

Kompetenzen

Go Git

Um nicht manuell beim Taggen mit Git die Spezifikation von Semantic Versioning einhalten zu m├╝ssen, entstand dieses kleine, aber m├Ąchtige Tool.

Umgesetzt wurde es in Go. Der Build erfolgt via GitHub Actions automatisiert bei jedem Push in das Repository.

nginx-spa

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

05/2019 - heute

Link

https://github.com/timo-reyman ...

Kompetenzen

NGINX Linux Docker Git GitHub

Dieses Projekt stellt einen vorkonfigurierten Container f├╝r Single Page Applications bereit, um einen einfachen und reibungslosen Anwendungsbetrieb zu erm├Âglichen.

Das Projekt wird automatisiert mit GitHub-Actions gebaut.

150 Jahre FFW Wildenau

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

04-05/2019 - 08/2019

Link

https://fest.ffw-wildenau.de

Kompetenzen

Git HTML5 Vue Webpack Docker JavaScript CSS3 Responsive Design Gitlab

In enger Kooperation mit Raphael Bittner entstand die neue Festhomepage f├╝r das 150-j├Ąhrige Jubil├Ąum der FFW Wildenau.

Hierbei wurde bewusst eine komplett separate Seite als Single Pager umgesetzt. Ziel war eine informative und ├╝bersichtliche Seite mit dem Mobile-First-Ansatz.

Die Website wurde als Single Page Application mit Vue umgesetzt. Zudem unterst├╝tzt sie den Betrieb als progressive Web-App. Das erm├Âglicht die Benutzung der Homepage bzw. den Download auf das Handy, dadurch wird es den Interessierten m├Âglich, die Seite entsprechend auch offline zu nutzen und so als digitalen Infozettel zu nutzen.

Bereitgestellt wird die ganze Anwendung via Docker-Container mit nginx-spa. Das Loadbalancing erfolgt hierbei Docker-nativ durch Traefik.

imageserver

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

10/2018 - 12/2020

Link

https://github.com/timo-reyman ...

Kompetenzen

Docker Git NodeJS Linux GitHub

Imageserver stellt einige Funktionen zur einfachen Verarbeitung von Bildern zur Verf├╝gung. Hierbei kann jedes beliebige ├╝ber eine ├Âffentliche URL erreichbare Bild modifiziert werden. Das erlaubt kleine Spielereien und Anpassungen an Bildern ohne direkte Manipulation der Bilddateien, die lokal erfolgt.

Zudem ist es m├Âglich, Placeholder-Images zu erstellen. Diese Funktion ist prim├Ąr gedacht f├╝r Neuentwicklungen von Homepages, um einfach Demo-Bilder einbinden zu k├Ânnen.

Technisch basiert das Ganze auf Node.js-Bindings zu imagemick sowie einem Server auf Grundlage von express.

Zus├Ątzlich stelle ich ein Docker-Image zur Verf├╝gung, um den Betrieb des imageserver so einfach und problemlos wie m├Âglich zu gestalten. Dabei ist es jederzeit m├Âglich, den Server horizontal durch neue Instanzen zu skalieren.

Der Build des Image erfolgt hierbei automatisiert via GitHub Actions.

DrunkenRoyal

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

10/2018 - 06/2019

Link

https://cdn.christian-stocking ...

Kompetenzen

Spring Boot GraphQL Java Kotlin Jenkins

DrunkenRoyal ist ein lustiges Trinkspiel f├╝r Smartphone oder Tablet und nat├╝rlich f├╝r jede Party, au├čer Kindergeburtstage. In dem die Spieler verschiedene Challenges absolvieren, kommen sie zum Ziel. Doch auf dem Weg dahin warten einige ├ťberraschungen und nat├╝rlich jede Menge Alkohol.

Das Spiel wurde ├╝ber Kickstarter von Christian Stockinger finanziert und auf Android und f├╝r iPhone und iPad ver├Âffentlicht.

Die Entwicklung der App erfolgte hierbei durch Christian Stockinger auf Unity-Basis.

Meine Aufgabe im Kontext des Gesamtprojektes war prim├Ąr die Erstellung der API f├╝r das Laden der Challenges sowie die Kommunikation der App mit dem Backend sowie deren Offline-Funktionalit├Ąt. Diese habe ich hierbei prim├Ąr in Kotlin programmiert, als API kam GraphQL zum Einsatz, was am effizientesten f├╝r die Nutzung mit der App herausstellte. Teile der App musste ich aufgrund von Komplikationen mit Spring Boot dann doch noch mit Java umsetzen. Bereitgestellt wird die API automatisiert mit Jenkins.

Zus├Ątzlich ├╝bernahm ich die Aufgabe eines Testers f├╝r die Android-App mit kontinuierlichem Feedback im Entwicklungsprozess, um eine exzellente Benutzererfahrung sicherzustellen.

Gitlab-Webhook-Library

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

03/2018 - 06/2021

Link

https://github.com/timo-reyman ...

Kompetenzen

PHP Git Composer GitHub

Diese Bibliothek erm├Âglicht es dem Entwickler leicht auf Gitlab-Webhooks zu reagieren und falls n├Âtig auch auf die mitgesendeten Daten zu reagieren. Die Validierung des Requests wird hierbei vollst├Ąndig von der Bibliothek ├╝bernommen.

CSV-Parser

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

12/2017 - 08/2020

Link

https://github.com/timo-reyman ...

Kompetenzen

Java Git Maven GitHub

Simpler CSV-Parser zum Parsen von CSV-Dateien. Die Angabe von zu mappenden Spalten erfolgt hierbei ├╝ber Annotations. Diese werden via Reflection ausgelesen und pro Klasse gecachet. Das erzielt eine Performance fast wie ohne Reflection.

Der Parser unterst├╝tzt neben dem klassischen Strichpunkt als Separator jeden beliebigen Separator. Enthalten ist neben einer klassischen API auch eine Stream-basierte API. Die Erstellung der Instanzen erfolgt hierbei ├╝ber das Builder-Pattern.

Made by Timo Reymann

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

09/2017 - 05/2022

Link

https://madeby.timo-reymann.de ...

Kompetenzen

Python Responsive Design HTML5 Git NGINX CSS3

Da ich nicht die Zeit und Lust habe, f├╝r jedes Projekt eine ausf├╝hrliche Beschreibung einzutragen, oder es f├╝r viele Projekte einfach nicht so viel zu erz├Ąhlen gibt, habe ich hier einen Platz geschaffen f├╝r Unrat, geistige Einf├Ąlle und Unf├Ąlle.

Die Weiterverwendung von Ideen ist ausdr├╝cklich und explizite Genehmigung gestattet. Ansonsten ist auch alles frei verwendbar, allerdings ohne jegliche Gew├Ąhrleistung.

Doppelte Auflistungen zus├Ątzlich zum Portfolio sind auch m├Âglich.

FFW Wildenau

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

05-06/2017 - heute

Link

https://ffw-wildenau.de/?pk_ca ...

Kompetenzen

Slim Gitlab PHP SQL JavaScript Suchmaschinenoptimierung Webpack Git NGINX Sass Bootstrap CSS3 Linux Composer

In enger Kooperation mit den Verantwortlichen der freiwilligen Feuerwehr Wildenau entwickele ich die Website kontinuierlich weiter und f├╝ge stets neue Anforderungen und Anpassungen in die Homepage ein. Den Administratoren der FFW Wildenau steht hierbei eine kompakte Administrationsoberfl├Ąche zur Verf├╝gung. Dies erlaubt eine komplett anpassbare Benutzererfahrung.

Gerade in Bezug darauf wichtig, dass die Verantwortlichen schon mit ihrer ehrenamtlichen T├Ątigkeit gefordert werden. Deshalb sollen sie m├Âglichst ohne gro├čen Schnickschnack einfach und schnell neue Inhalte wie Beitr├Ąge und Eins├Ątze einpflegen k├Ânnen. Gleichzeitig stellt die Homepage die Feuerwehr die Pr├Ąsenz in der digitalen Welt dar.

Ich ├╝bernehme neben Administration und Wartung auch das Hosting von Homepage und Mail-Server und stehe bei technischen Fragen mit Rat und Tat zur Seite. Zus├Ątzlich ├╝bernehme ich die Verwaltung der Domain und der E-Mail-Konten.

KerzenWinni

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

06-07/2016 - heute

Link

https://kerzenwinni.de/?pk_cam ...

Kompetenzen

CSS3 PHP Responsive Design Suchmaschinenoptimierung HTML5 Bootstrap SQL Git NGINX

F├╝r KerzenWinni entstand in enger Absprache mit dem Inhaber ein One-Pager mit Kontaktformular, Terminkalender und G├Ąstebuch.

Zudem ├╝bernehme ich Hosting und Wartung von Homepage und Server. Besonderen Wert wurde bei der Homepage auf eine z├╝gige Ladezeit gelegt, hierbei werden die Inhalte above the fold sofort geladen, w├Ąhrend erst nach dem Scrollen sichtbare Elemente der Seite ├╝ber separate asynchrone Serveranfragen eingebunden werden. Die Galerie l├Ądt hierbei die ben├Âtigten Bilder erst, wenn dieses wird. Dies erm├Âglicht auf mobilen Endger├Ąten eine schnelle Ladezeit und spart Datenvolumen. Gerade deswegen wichtig, weil ├╝ber 89 % der Aufrufe der Website ├╝ber mobile Endger├Ąte erfolgen.

Code-Paste-Tool 3.0

{{ eintrag.Projekt.Bezeichnung }}

Zeitpunkt

06/2016 - heute

Link

https://paste.timo-reymann.de/

Kompetenzen

CSS3 Responsive Design Git NGINX HTML5 SQL PHP Vue Webpack

Um das Codesharing unter eigener Kontrolle zu verbessern, entschied ich mich daf├╝r ein eigenes Paste-Tool zu entwickeln, statt auf einen Fremdanbieter zu vertrauen.

Dieses Tool erm├Âglicht das zeitliche begrenzte Speichern von Code-Snippets oder einfachem Plain Text. Die Anwendung ist hierbei logisch in eine API und die Benutzeroberfl├Ąche gegliedert.

Somit erfolgt das Rendering komplett clientseitig. Dies erm├Âglicht eine schnelle Ladezeit und eine flotte Benutzererfahrung.