Latest Updates

Documenting code, one commit at a time.

Enhancing Data Synchronization in the Reimpact Platform

This post details recent improvements to the data synchronization process within the Reimpact platform, focusing on dependency management, data integrity, and automation.

The Challenge

Data synchronization can be complex, especially when dealing with relational databases that have foreign key constraints and auto-generated values. Ensuring data consistency and avoiding errors during

Read more
PHP Laravel

Refactoring Shared Layouts for Laravel Components

Have you ever struggled with seemingly minor updates breaking your build process? A recent issue in the Reimpact/platform project highlighted the importance of directory structure when using Laravel's Blade components.

The Problem

The project uses shared layouts extensively. The goal was to leverage anonymous Blade components using the <x-shared::templates.module.view> syntax.

Read more

Improving Database Compatibility and Code Maintainability in Laravel Projects

Introduction

Maintaining compatibility across different database systems and ensuring code consistency can be challenging in large Laravel projects. This post outlines how the Reimpact/platform project addressed these issues, specifically focusing on PostgreSQL compatibility and tenant table management.

The Challenge

When developing applications that need to support multiple database

Read more

Streamlining Filament Resource Management in the Platform

The Challenge

Managing various data entities within a complex application can become unwieldy without a structured approach. We needed a consistent and efficient way to handle data presentation, creation, and modification across different areas of the Reimpact platform.

The Solution

We leveraged Filament, a rapid application development framework for Laravel, to migrate and centralize

Read more

Filament Resource Enhancements for Modular Laravel Applications

Building robust and scalable applications often involves modular design principles. In the Reimpact/platform project, we've been focusing on enhancing our Filament resource implementations to streamline development and improve maintainability across various modules.

Streamlining Module Development with Filament

Filament provides a powerful way to create admin panels for Laravel applications.

Read more

Scaling with Schemas: Multi-Tenancy Migration in Laravel

The Reimpact platform is undergoing a significant architectural shift, moving from a MySQL row-level multi-tenancy model to a more robust PostgreSQL schema-per-tenant setup. This post dives into the key considerations and steps involved in this migration, leveraging Laravel and Filament.

The Motivation for Schema-Based Tenancy

Row-level multi-tenancy in MySQL, while initially simpler to

Read more

Modernizing Platform Components with Laravel, Filament, and PostgreSQL

The platform project is undergoing a series of updates to enhance its architecture and developer experience.

Streamlining Panel Providers

Component registration is now more organized. The PackagingPanelProvider has been registered, ensuring that necessary components are readily available throughout the application. This centralizes the management of UI elements, improving maintainability.

Read more
PHP Laravel

Improving Tenant Data Synchronization in Laravel Applications

Introduction

When building multi-tenant applications with Laravel, managing and synchronizing data across tenants is a common challenge. Ensuring data integrity while performing updates or synchronizations requires careful consideration. This post explores how to improve data synchronization processes in a Laravel multi-tenant environment, focusing on maintaining tenant schema data.

Read more

Enhancing Tenant Schema Population in Laravel

Introduction

When building multi-tenant applications with Laravel, managing database schemas for each tenant can become complex. We recently improved our tenant schema population process in the platform project to handle various edge cases and ensure data integrity across companies.

The Problem

Our initial schema population process had several limitations:

  1. PostgreSQL's
Read more

Multi-Tenancy in Laravel with PostgreSQL Schemas: A Migration Story

Introduction

Row-level filtering is common for multi-tenancy, but what if you need stronger isolation? At Reimpact's platform, we're migrating towards PostgreSQL schemas to achieve true tenant separation, leveraging Laravel, Filament, and the middleware pattern.

This post details our approach to dynamically setting the PostgreSQL search_path for each tenant, ensuring data isolation and

Read more