Latest Updates

Documenting code, one commit at a time.

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

Navigating the Data Migration Maze: MySQL to PostgreSQL

Migrating data between different database systems can be a complex undertaking. Recently, the team working on the platform navigated a significant data migration from MySQL to PostgreSQL. This post outlines some key considerations and challenges encountered during the process. These insights can help you avoid common pitfalls when undertaking similar migrations.

The Challenge

Read more
PHP PostgreSQL

Graceful Handling of PostgreSQL Privileges in Platform Setup

Introduction

When deploying the Reimpact platform, ensuring a smooth setup process across different environments is crucial. This post addresses a common issue encountered during tenant schema population, specifically when the executing user lacks PostgreSQL superuser privileges. We'll explore the problem and how a simple try-catch block resolves it, enhancing the platform's robustness.

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

Multi-Tenancy with PostgreSQL Schemas in Laravel

Introduction

When building multi-tenant applications, choosing the right architecture is critical. This post explores how to leverage PostgreSQL schemas within a Laravel application to achieve tenant isolation, enhance security, and improve scalability.

The Multi-Tenant Challenge

Traditional multi-tenant approaches often involve sharing a single database and distinguishing tenants by a

Read more
PHP PostgreSQL

PostgreSQL Case Sensitivity and Dashboard Calculations in Reimpact Platform

Introduction

When developing dashboards that rely on precise data comparisons in PostgreSQL, case sensitivity can be a silent but critical issue. This post examines a case in the Reimpact platform where case sensitivity in unit comparisons caused dashboard calculations to return incorrect results, and how it was resolved.

The Problem: Case-Sensitive Comparisons

PostgreSQL, by default,

Read more

PostgreSQL Type Casting for Data Consistency in Laravel

When developing applications using Laravel with a PostgreSQL database, maintaining strict data type consistency is crucial, especially when dealing with dashboard functionalities that aggregate data. PostgreSQL's strong type checking can lead to unexpected errors if data types don't match exactly between the database schema and the application's expectations.

The Problem: Type Mismatches

Read more

Laravel and Vite: Fixing Manifest Issues After Upgrade

Introduction

After upgrading to Vite 6 in a Laravel project, you might encounter issues with the location of the manifest.json file. The laravel-vite-plugin version 0.8 expects the manifest in build/manifest.json, but Vite 6 outputs it to .vite/manifest.json. This discrepancy can break asset loading in your application.

The Problem: Manifest File Location

When upgrading to newer

Read more

Modernizing the UI and unifying chat styling in Breniapp

The Breniapp project has been undergoing UI modernization efforts, focusing on both the overall aesthetics and specific elements like the chat interface. This post will cover the key changes and their impact.

Design System Refinements

One of the primary goals was to refine the existing design system. This included subtle but impactful changes such as:

  • Softer card shadows: Providing a
Read more