Latest Updates

Documenting code, one commit at a time.

Improving Application Stability and User Experience in Landing

The devlog-ist/landing project focuses on creating a smooth and reliable user experience. Recent work has addressed several critical production errors to enhance stability and prevent disruptions.

Addressing Production Errors

Production errors can significantly impact user satisfaction and overall application performance. A proactive approach to identifying and resolving these issues is

Read more
PHP MySQL AWS

Streamlining Local Development with Dynamic MySQL Configuration

Setting up a local development environment can often be a hurdle, especially when dealing with database credentials. Manually managing these credentials and ensuring they match the production environment can be time-consuming and error-prone. This is especially true for the Reimpact platform, where consistency between development and production environments is crucial.

The Problem: Hardcoded

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

Read more

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

Read more

Streamlining Onboarding with Middleware Bypass Logic

Introduction

Imagine a scenario where specific user roles within an application are needlessly subjected to onboarding processes designed for different user groups. This post explores how to selectively bypass middleware to optimize the user experience for marketing admins in the 'landing' project.

The Problem: Unnecessary Onboarding Steps

In many applications, middleware is used to

Read more
PHP MySQL

Seeding Initial Data in Reimpact Platform

Introduction

When bootstrapping a new environment for the Reimpact platform, it's often necessary to populate the database with initial data. This post details how we approached seeding rate data from a production MySQL dump into a new PostgreSQL instance, focusing on an idempotent migration strategy.

The Challenge

We needed to migrate 448 rows of rate data from an existing MySQL

Read more

Validating Livewire Requests with Middleware in the Platform Project

In the Reimpact/platform project, a recent update addresses an issue where Livewire update requests were being incorrectly blocked by a custom middleware. This post details the problem and the solution implemented.

The Problem

The ValidationUserMiddleware was designed to handle user authentication and validation for incoming requests. However, it was inadvertently blocking unauthenticated

Read more