Schlagwörter
Skills
- C# Asp.NET Core
- Azure (Data Factory, Logic App, Functions, Api Management)
- NodeJs (Express, Hapi)
- VueJs
- EgmaScript6
- TypeScript
- PHP 5 - 7.4 (Slim Framework, Symfony 4 oder höher)
- AWS Cloud Architecture
- Azure
- CSS3
- Adobe Illustrator
Projekthistorie
- Umstellung des Front- und Backends auf TypeScript.
- Aktualisierung aller Dependencies in Front- und Backend.
- Aktualisierung von Vue2 auf Vue3
- Ausgiebige Refactorings
- Schulung von Entwicklern
- Hinzufügen neuer Features
- Node.js
- TypeScript
- JavaScript
- Vue2, Vue3
- MongoDb
- Mongoose
Der gesamte Code ist hier einsehbar
https://github.com/WildChild85/starbase-nexus-api
https://github.com/WildChild85/starbase-nexus-ui
Das Frontend-Projekt wurde zunächst mit VueJs 3 Options Api, Vue Cli 4, Vue-I18n, Jest, SASS (BEM), Vue-Router und VueX umgesetzt. Später erfolgte allerdings eine Modernisierung, bei der auf die Composition Api mit Single File Components (Setup Pattern) refactored wurde. Außerdem wurde VueX durch Pinia ersetzt und Vue Cli mit Vite. Das Design kam von einer weiteren Agentur und wurde in enger Zusammenarbeit mit der Designerin präzise umgesetzt. Später erfolgte noch die Anbindung einer Authentifizierung über GLUU anhand des OpenID-Standards.
Ein weiteres Projekt war die Erstellung von Exporten in Form von CSV-Dateien aus dem dahinterliegenden PIM über Azure Data Factories. Meine Aufgabe war es, die Pipelines und Dataflows zur Datentransformation und -Komposition zu modellieren.
Bei größeren Downloads war es ggf. notwendig, die Artikel-IDs erst zu ermitteln, was aufgrund der Laufzeiten clientseitig nicht möglich war. Deshalb habe ich zu diesem Zweck eine Azure Logic App entwickelt, die alle IDs (bis zu 500.000) einsammelt und den Download für den Client startet.
Des Weiteren unterstütze ich das Team bei der Erweiterung eines Kunden internen Tools zur Preispflege. Hierbei handelte es sich um ein VueJs Projekt, dass über Azure Funktions (C#) mit Daten versorgt wurde. Meine Aufgabe war die Erweiterung des VueJs Frontends, sowie des C# Backends.
neuer Produkte mit NodeJs + VueJs auf Basis von TypeScript bei der
Questback GmbH in Köln
Die App enhält folgende Features:
- Erstellung von Terminen (online & vor Ort)
- On-Demand Abrechnung für Termine oder Abos
- Broadcasting von Termin Updates,
- Transaktionale E-mails und Push-Notifications
- Social Logins (SSO)
Technische Komponenten:
- Als Backend dient eine Rest API auf C# (.NET5) Basis
- Das Frontend ist eine auf VueJs 3 (mit TypeScript) basierende PWA.
- Frontend und Backend sind cloud ready und laufen momentan auf einer AWS EC2 Instance, können aber jederzeit in einen Dynamic Container Service gepackt und ein Load Balancer mit Autoscaling davor geschaltet werden.
- Push Notifications werden mit SignalR über WebSockets and die App übertragen. Diese beinhalten On Action Notifications, sowie On Time Notifications.
Das Anwendungsszenario befasst sich mit der Community rund im ein MMO namens Dual Universe. In der Hochphase waren bis zu 10.000 aktive User online in diesem Spiel.
Mein Projekt stellte verschiedenste Dienstleistungen und Produkte zur Verfügung, um die Spieleerfahrung einfacher zu gestalten. Diese umfassten:
- CDN mit File Upload, Image & Video Optimization und Processing
- Media Galerie
- Crafting Calculator (Rekursive Bedarfsberechnung)
- Schiffskatalog (quasi Produktkatalog)
- Data Comparison Tools
- JWT Role based Authentication / Authorization
- SSO mit Discord
- Gitlab SSO Anbinding
- NodeBB SSO Anbindung
Das Backend habe ich mit C# AspNetCore 3.1 umgesetzt. Als API Standard wird Rest Api verwendet, welche automatisch mit Swagger dokumentiert wird. Als Datenbank wird Mysql8 verwendet.
Das Frontend wurde mit VueJs 2 (Options Api) umgesetzt. Für das Styling habe ich auf SASS (SCSS) mit BEM gesetzt um die Organisation und Wartbarkeit des Projektes langfristig zu sichern.
Für die Optimierung von Bildern und Videos habe ich innerhalb von C# mit den Library ImageMagick und FFMPEG gearbeitet.
Das Projekt ist auf einem Hetzner Rootserver auf Ubuntu 18.04 gehostet.