Posts
All the articles I've posted.
-
Implementing the Game Service and Discovering the Bruno API Client
Creating the CatanGameService with game state and action enums as the backbone of the eventual FSM, and switching to Bruno as a local-first, open-source alternative to Postman for making REST requests.
-
Scaffolding the Java Spring Backend and Connecting to Postgres
Setting up a Java Spring project with JDBC, Flyway migrations, and Spring Web, then installing Postgres locally and running the first end-to-end REST test via curl and the IntelliJ debugger.
-
Designing Game State Persistence and a Custom Finite State Machine
Architecture session diagramming how Catan game state could be stored in a relational database and how player actions can be validated and broadcast. Evaluated Spring State Machine and chose a simpler custom FSM approach for MVP.
-
Adding Roads, Player Cards, and Resource-Based Coloring to the Board
Implementing Road pieces as the third positional grid on the Catan board, conditionally styling hexagons and player cards by resource type and player color, and refactoring all piece types into proper Angular components with shared game state.
-
Board Geometry for Center Pieces and Neovim Productivity
Organizing CSS and TypeScript constants for board layout geometry, reworking hexagon formulas to correctly position Center pieces, and continuing Neovim IDE configuration while balancing it against actual feature work.
-
Configuring Neovim and Scaffolding the Angular Frontend
Setting up a Neovim IDE from scratch with TypeScript and Angular LSP support, then scaffolding the Angular project with the hexagon CSS from earlier prototyping. Working through the geometry math for positioning Settlement pieces on the board.
-
Prototyping a Catan Hexagon Grid with HTML and CSS
Exploring CSS clip-path and linear-gradient techniques to render a hexagon grid using JSFiddle for rapid prototyping. Initial review of the Catan board layout and the challenges of responsive absolute positioning.