Latest Updates

Documenting code, one commit at a time.

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

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

Refactoring Database Schemas for Module-Specific Tables

We've been working on the Reimpact/platform project, and recently tackled a significant refactoring of our database schema. Our initial design had a mix of shared and module-specific tables within each tenant schema, which led to some challenges as the platform grew.

The primary goal of this refactoring was to improve modularity and maintainability by clearly separating module-specific data.

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

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