Update 03-2023: This article was migrated from the previous version of my blog written in Java and refers to the technical
implementation of that application.

Every few years I convince myself that what’s missing from my life is a personal blog. The logic behind this decision is normally to learn a new technology or language, but my hope is that it will also act as a log of personal achievements and past endeavours. There has also been a substantial amount of research suggesting that personal blogging has multiple mental health benefits, emerging from the in-depth analysis of our experiences that leads to increased self-awareness.

So, that’s the why, onto the how. This blog has been developed using various technologies, some of which will be discussed in more detail in future posts, including:

  • Spring Boot
  • Spring Security
  • Spring Data
  • Thymeleaf
  • Docker
  • PostgresSQL (originally MongoDB, but switched after selecting Heroku)
  • Cucumber-JVM
  • Selenium

Some features implemented using these technologies are:

  • Login & Admin Area
  • Article & related domain CRUD (you’d hope so on a blog!)
  • Basic Search
  • Pagination
  • Tags
  • ATOM Feed
  • Code Syntax Highlighting
  • Automated Testing

Hosting is provided by Heroku and was determined as the best cloud platform for my needs, more light will be shed on this decision in a later post.

And to round things out, here’s a view of the backlog:

  • Add database migration support e.g. flyway or liquibase
  • Add more tests
  • Custom error pages
  • More content
  • Version numbers
  • Automatic changelog posts