J86uk

PHP Developer
& DevOps Engineer

What looks like a simple page here - a commit feed, a few buttons, and clean design — is actually a demonstration of modern PHP and DevOps practices in action. Content is dynamic, features are relationally structured, and everything is cached and orchestrated quietly behind the scenes.

Below, you’ll find the "Under the Hood" section, where the site shows off its architecture, queue-driven contact form, GitLab integration, CMS blocks, and other engineered features. If you’re curious about the code, the GitLab repo is just a click away. Minimal interface, maximum engineering.

Latest GitLab Activity

Tidy up contact manager loading

Jamie Teuma - 2 days ago

CSP fixes for tinymce

Jamie Teuma - 2 days ago

Change admin login default route and style tweaks

Jamie Teuma - 3 days ago

Design tweaks

Jamie Teuma - 3 days ago

add light / dark mode

Jamie Teuma - 3 days ago

Tweaks to Contact Manager

Jamie Teuma - 3 days ago

Gitlab last checked: 59 minutes ago

Under the hood

Content is powered by CMS blocks. Editable through the admin panel, each block is cached individually and invalidated automatically when updated. TinyMCE handles rich text editing, and if a block is missing, the system fails gracefully — preventing runtime errors from leaking into production. No ceremonial cache purges required, and no broken pages if content is temporarily unavailable.

Site Features are stored relationally — grouped, maintained through a React-powered admin form, and cached for performance. Because even a simple list deserves proper architecture.

Commits from GitLab are fetched, filtered to exclude noise, cached separately, and displayed cleanly. Think of it as a tidy assistant checking the repository for meaningful work. It knows the difference between a proper commit and administrative housekeeping — a skill we could all use.

The contact form is built using ReactJS for a dynamic, interactive experience. Messages are sent to a queue system, processed asynchronously, and once handled, stored in a custom database table. From there, they can be viewed or deleted directly in the admin panel. Every inquiry is accounted for, handled reliably, and never disappears into the void — even if the site’s administrator is busy bench pressing or tweaking code.

The site can also be placed into a controlled holding state directly from the admin panel. When enabled, public routes are gracefully redirected to a branded holding page — useful for updates, staging transitions, or controlled downtime scenarios. No server tweaks required.

Security is taken seriously. Google reCAPTCHA protects the contact form from spam, while a strict Content Security Policy (CSP) enforces safe resource loading across the site. All input is validated according to configuration-driven rules, and sensitive operations are carefully handled to prevent unexpected behaviour. The site may look simple, but it’s secure by default.

Code deployment is fully automated and zero-downtime: push a commit, and the system compiles the theme, clears the necessary caches, and updates the live site seamlessly. All the behind-the-scenes work happens quietly, so changes appear instantly without interrupting the user experience.

Everything here is cached, event-driven where appropriate, and designed to keep the site snappy. Minimal on the surface, structured underneath.

Site Features

Contact Page

  • Admin panel allows view / delete
  • Google reCAPTCHA
  • ReactJS interactive form
  • Requests dispatched to queue system for async processing
  • Stored in DB after processing

CMS

  • Admin panel managed content blocks
  • Automatic cache invalidation on update
  • Custom exception handling for missing blocks
  • TinyMCE WYSIWYG editor for rich text

Gitlab Integration

  • Configurable in admin panel (URL, branch, number of commits)
  • Event-driven cache invalidation
  • Fetches commits, filters merge requests
  • Last-checked timestamp

Site Features Section

  • Cached for performance
  • Demonstrates hybrid Laravel + React form editing in admin
  • Fully dynamic content, managed via admin panel
  • Groups and items easily configurable
  • One-to-many relational data model

Operations & Configuration

  • Admin panel controlled holding page
  • Admin panel managed global configuration
  • Automatic deployment-ready setup
  • CLI tools: create admin users, clear cache/config
  • Content Security Policy enforced
  • Input validation based on config rules

Performance

  • Config cache with controlled invalidation
  • GitLab responses cached for 1 hour
  • Minimal external dependencies at runtime
  • Optimised database queries for admin operations
  • Queue-driven request handling to avoid blocking
  • Tag-based caching for CMS content