Latest Updates

Documenting code, one commit at a time.

English 10 posts
×
0 PHP Laravel

Battling Ghost Migrations: A Midnight Cleanup on the Platform

Working on the Reimpact platform often involves juggling multiple moving pieces. Recently, we encountered a peculiar issue: the lingering presence of duplicate migration files.

The Phantom Menace

Our deployment process began failing intermittently. After some digging, we discovered the root cause: duplicate migration files for key components like warehouses, brands, and massive uploads.

0 PHP MySQL

Refactoring Generated Reports: Removing Redundant Data Calculations

When working on the Reimpact platform, a key aspect is ensuring data accuracy and efficiency. Recently, we addressed an issue within the generated reports functionality. The goal was to streamline data processing and eliminate redundant calculations, resulting in a more efficient system.

Identifying the Issue

The initial analysis revealed that certain data points within the generated reports

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

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

0 PHP Laravel

Streamlining Filament Panel Navigation in Reimpact Platform

Introduction

The Reimpact platform recently underwent a navigation update to improve user experience within the Filament admin panel. This update focused on ensuring consistent and correct redirection after login and impersonation actions.

The Problem

Previously, users logging in or utilizing the impersonate feature were being redirected to outdated Nova paths, specifically

Skipping Session Validation Middleware During Impersonation in Platform

The Problem

In the Reimpact platform, we encountered an issue where session validation middleware was causing unexpected logouts during user impersonation. Specifically, the CheckValidSession and EnsureSingleSession middlewares were interfering with the impersonation process, leading to a frustrating user experience.

The Cause

The root cause of the problem lies in how the session is

0 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,

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

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.