My Name is Alexander Ferring, I'm a 35 year old German.

I seek employment as a Front-end or Full-stack-developer with a focus on Angular applications written in Typescript.
I consider myself a fast learner, am fluent in English and have a broad foundational understanding of technological context.

In what follows, allow me to showcase Progressive Web App (PWA) functionality, in particular the patterns and code that I utilized.
I believe Angular serves very well in providing performant cross-platform applications that can be developed in a strongly typed and well testable environment.


Core skills and technology-stack

Most of my learning time I have focused on the modern frameworks and technologies that comprise this site:

Angular frontend

Frontend written in typescript and styled using bootstrap v4. Building on concepts such as ahead-of-time compilation, tree-shaking, server-side rendering (SSR) and Service Workers for caching, web-push and offline support.

After testing several methods, I came to now rely on the incredible Angular CLI as the primary bundler and task runner, which makes Angular very approachable. Lastly, as mentioned before, Angular Universal provides SSR functionality.

GraphQL endpoint

GraphQL is provided by the Node server in addition to the REST-endpoints and consumed by an Apollo client implementation.

This allows the app to fetch only the exact set of properties that are actually needed for a specific render, hence avoiding over- and underfetching data.
Furthermore, this neatly improves efficiency by reducing roundtrips & computing costs on the device as well as costs incurred with implementing new route endpoints.

Nodejs server

Providing RESTful API / CORS routes, hence connecting frontend with the database, push and mail-transfer functionality. I utilize the Express, Mongoose, Express-brute and Nodemailer modules, to name a few.

Angular Universal is tightly coupled with the backend to bootstrap a server-side render of the Angular app. This improves Time to Interactive and First Meaningful Paint as well as improving social media, crawler and search engine compatibility.

Docker containers

Nginx Docker components are used as (reverse) proxies, to auto-renew certificates and to host the NodeJS Express environment that prerenders and serves the frontend.

I utilized both the great docker-letsencrypt-nginx-proxy-companion to auto-renew certificates and generate nginx proxy configurations as well as mailcow-dockerized as a containerized mail suite and transfer agent.


Performance

I encourage you to also consider this website's Google lighthouse rating as a benchmark for PWA best-practices. You may already know the Google Lighthouse Audit tools that have been built into Chrome for a while now.
To learn more about Lighthouse, please consult these Google docs or watch this short GIF i compiled for you.


Skills at a glance

  • Angular: Universal SSR, NgRx, PWA & Service-Worker including Push
  • Front-End: SASS, Apollo GraphQL, Bootstrap and Google Material
  • Back-End: GraphQL(-compose), Kafka Streams, SQL. AWS including Lambda
    • Javascript / Typescript: Node.js Express APIs and MongoDB
    • Java: Spring Boot and Hibernate
    • PHP: Symfony and Doctrine
  • DevOps: Docker, Kubernetes, Terraform, GitLab, Nginx reverse proxy / ingress
  • Python: Applied machine learning with Tensorflow, Jupyter & Anaconda


Selected Blogs

Reduce implementation and roundtrip costs via GraphQL

How adding GraphQL to your stack can improve product iteration and reduce costs by building atop your existing infrastructure.

GraphQL Node.js Angular

Modular component and service architecture

Extending typescript classes and utilizing generic parameter defaults in a modular way to enhance Angular Single Page Applications

Angular

Docker containers and networks

A blog-bit about utilizing Docker containers and linking multiple Docker-files and -networks.

Docker