All projects

Own product · 2024 – 2025 Project 13 of 20

TDK Core

A shared base for websites on several domains from one codebase.

At a glance

Role
Design and development
Period
2024 – 2025
Status
Archived
Technologies
6 technologies

A Nette application that serves websites on several domains from one codebase. Each domain has its own database and permissions, features are added as modules (accounts, permissions, blog, seminars, tickets, invoices, translations), and sign-in goes through Keycloak.

Technically interesting

  • A new domain with one command. A domain is created with a console command that takes its name, owner, address and database; migrations and the synchronisation of domain permissions also run from the console.
  • Modules with one structure. A new module adds its own API endpoints, and its permissions are generated for it. Endpoints are declared with an attribute right on the method – with a version, path, method and a deprecation flag.
  • A generic API with filters. One builder composes the conditions, so a new filter type means one enum case and one change to the builder.
  • Teamwork. Development went through GitLab with a branch for every task and merge requests, with CI/CD and separate development and production instances in Docker.

Built with

  • PHP
  • Nette
  • MariaDB
  • Keycloak
  • OAuth 2.0
  • Docker

Keyboard shortcuts.

Keyboard shortcuts for this site. They stay quiet while you type into a form.

This site

?
This help
g
12-column grid, components and page metrics
d
Appearance: system, light, dark, Linkin Park
Ctrl P
Print the CV instead of the website
Esc
Close the dialog or the grid

The blue dot after the name can be grabbed and thrown.

Linkin Park

l setlist lp
The setlist, songs by album
papercut
The page tears like paper
numb
The site goes numb for a few seconds
faint
The page faints and comes round
meteora
A meteor shower and a direct hit on the dot after the name
fromzero emily
The site fades down to zero and is reborn, with thanks to Emily Armstrong
concert koncert
Concert: the site runs through the colours of every album
castleofglass
The page turns to glass, cracks and shatters
iridescent
Headings and dots shimmer in rainbow colours
breakingthehabit
Whatever is on screen falls apart and snaps back
intheend
End credits, like at the cinema
victim morethevictim
The site breaks up in a glitch and stays distorted (until a reload, another word or Esc)
finalmasquerade
A masquerade mask over the whole site, the camera flies through an eye
lost
Off to the 404 page

Type the words anywhere outside the form; case and spaces do not matter. With reduced motion you get a short note instead.

On a phone, five taps on the blue dot after the name open the setlist.