Latest Updates

Documenting code, one commit at a time.

Unifying Branding Across Filament Panels in Reimpact Platform

Introduction

Maintaining a consistent brand identity across multiple admin panels can be a challenge. In the Reimpact platform, we faced this issue with our eight Filament panels, each serving different modules. The goal was to ensure a unified look and feel while streamlining maintenance and updates.

The Problem

Previously, each Filament panel had its own branding configuration, leading

Read more

Evolving Database Schemas with PostgreSQL Compatibility in Mind

When working on Reimpact's platform, we often encounter scenarios where database schema changes are necessary to accommodate new features or optimize existing functionalities. Ensuring compatibility across different database systems, especially PostgreSQL, requires careful consideration and attention to detail.

The Challenge of Foreign Keys in PostgreSQL

PostgreSQL enforces strict type

Read more

Prompting for Feedback: Balancing User Experience and Engagement

Collecting user feedback is crucial for iterative improvement in any application. However, the timing and method of prompting users for feedback can significantly impact their experience. In the Breniapp application, a new approach balances proactive engagement with user comfort.

The Feature: Just-in-Time Feedback Prompts

A Livewire component has been introduced to present users with a

Read more

Handling Nullable Columns in Tenant Migrations

When managing multi-tenant applications, ensuring data integrity across all tenants is crucial. Recently, while working on the Reimpact/platform, we encountered an issue during tenant migrations related to non-nullable columns. Here’s how we addressed it.

The Problem

In a multi-tenant architecture, each tenant often has its own database schema. During migrations, these schemas need to be

Read more

Refactoring Filament Dashboard Filters for Clarity and Efficiency

The Reimpact platform benefits from a well-organized and efficient admin dashboard. Recently, work has focused on refining the Packaging dashboard's filter system to improve both its appearance and initial data loading performance.

The Problem: Styling Inconsistencies and Delayed Data

Previously, the dashboard filters suffered from inconsistent styling, making the interface feel disjointed.

Read more

Preventing Duplicate Actions in Livewire Components

Introduction

In the Breniapp/brenia project, we recently encountered an issue where certain actions within our Livewire components were being triggered multiple times unintentionally. This manifested as duplicate image downloads on a content generation page. The root cause was traced to Livewire 3's @script block, which re-executes on every component update, leading to an accumulation of

Read more

Handling Tenant Database Schema Updates in Laravel

When developing multi-tenant applications with Laravel, managing database schema updates across tenants can be tricky. This post discusses how to address a common issue: ensuring that all tenant databases have the necessary schema changes after migrations.

The Problem: Missing Columns After Migration

In a multi-tenant Laravel application, each tenant typically has its own database schema.

Read more

Enhancing Filament Resource Testing with Pest and Tenant Awareness

Introduction

The Reimpact/platform project is undergoing improvements to its testing infrastructure, specifically focusing on Filament resources. The goal is to ensure comprehensive test coverage for CRUD operations across various resources, while also addressing tenant-specific data handling.

The Challenge

Previously, testing Filament resources lacked sufficient coverage, especially

Read more