Latest Updates

Documenting code, one commit at a time.

PHP Alpine.js

Enhancing User Experience with Collapsible Descriptions

The landing project is focused on creating intuitive user experiences. Recent updates have centered around refining the navigation and information architecture within the application.

Streamlining Navigation and Information

One key enhancement involves renaming the 'campaigns' navigation label to 'marketing mail campaign'. This change aims to provide greater clarity and context to users,

Read more
PHP Alpine.js

Refactoring for Clarity: Moving UI Elements in Breniapp

When developing user interfaces, component placement can significantly impact the user experience and the application's overall stability. In the Breniapp project, a recent refactoring focused on improving the placement of AI model selection elements to resolve layout issues and enhance maintainability.

The Problem: UI Elements in the Wrong Place

Initially, the AI model selection dropdowns

Read more
PHP PostgreSQL

Improving Data Handling and Stability in Landing

The landing project focuses on creating engaging user experiences. Recent work has concentrated on refining data storage and ensuring application stability.

Addressing PostgreSQL DISTINCT Errors with JSONB

A recurring issue involved PostgreSQL's inability to efficiently use DISTINCT with JSON columns. This manifested as numerous daily errors, particularly within the Campaign editor's

Read more

Recovering PostgreSQL Report Functions in Laravel

Introduction

When performing database migrations, especially in multi-tenant environments, it's crucial to ensure all aspects of the schema are correctly applied to each tenant. This post explores a scenario in a Laravel application where PostgreSQL functions were unintentionally dropped during a tenant migration and how they were recovered.

The Problem: Silently Missing Functions

Read more
PHP PostgreSQL

Seeding PostgreSQL: Avoiding SQL Escaping Issues

When working with databases, especially PostgreSQL, ensuring data integrity during the seeding process is crucial. A common pitfall involves SQL escaping issues, particularly when dealing with special characters within string values.

The Problem: Escaping Hell in Seed Migrations

Initial attempts to populate a database often involve seed migrations. These migrations contain SQL statements to

Read more

Multi-Tenancy Done Right: Tenant-Specific Database Tables

When building a multi-tenant application with Laravel and PostgreSQL, handling data isolation is crucial. One effective approach is to use separate database schemas for each tenant. This provides a high level of isolation, ensuring that data from different tenants remains completely separate. Let's explore how this works in practice within the Reimpact platform.

The Problem: Shared Tables

Read more

Ensuring Data Integrity: Restoring Global Rates in a Laravel Application

Introduction

Maintaining data accuracy across all tenants in a multi-tenant application can be challenging. This post explores how to correct an issue where global rates were inadvertently made tenant-specific in a Laravel application, impacting data integrity.

The Problem: Tenant-Scoped Rates

Originally, the rates table was intended to store global rates applicable to all tenants.

Read more