Server
See this post for details on my server infrastructure.
The website is split into different microservices which are managed in a docker-compose stack.
Node.js app
The backend-logic ist implemented in Node.js. It does various things:
- Delivering dynamic and static content
- Render Markdown and React to html
- Compile sass to css
- Caching
- Sitemap generation
Font Cache
Instead of using Google-Fonts directly, I wrote a microservice that downloads, caches and delivers Google-Fonts. That means, that Google does not gain any information about the users of this website.
This part of my website is written in Kotlin/Spring Boot.
Github Stats
This is a very small microservice that uses the GitHub API to periodically update some information on this website (followers…). It is written in Node.js.
Frontend
The site uses sass and React for templating. The server-side rendered content is cached in a Redis database.
I also use client-side React in some parts.
Komoot Service
A small microservice that fetches activities from my Komoot profile.
Message Service
Schedules and displays messages (petitions, updates etc.) on the top of the site.
It's written in Go.