Latest Updates

Documenting code, one commit at a time.

Streamlining Filament Navigation: Enhancing User Experience

Overview

This update focuses on improving the user experience within the Filament admin panel by reorganizing the navigation structure. Specifically, resources related to support and feedback have been relocated to a dedicated 'Support' navigation group.

Motivation

The primary goal is to declutter the 'System' navigation group. By moving support-related resources to their own group, the

Read more
PHP MySQL Laravel

Tenant-Based Billing: Fixing Cashier Customer Model

Introduction

After consolidating billing to a tenant-based system (Phase 3), we encountered an issue with the Cashier package. The default customer model was still set to User, causing errors when Stripe webhook events triggered.

The Problem

The stripe_id column, expected by Cashier, was not found because it was looking in the User model instead of the Tenant model.

Read more

EcoRuta Form Redesign: Modernizing the User Interface with a Focus on Dark Mode

Introduction

The EcoRuta form, used for managing certified recycling routes, has undergone a significant redesign. This update focuses on modernizing the user interface, improving the user experience, and adding dark mode support to align with the Landing module's design patterns.

Key Changes

The redesign includes several key improvements:

  • Layout Update: The form now utilizes
Read more
PHP MySQL JavaScript

Implementing Dual-Write for User/Tenant Data Separation

Introduction

Our application initially stored user-specific data directly within the Tenant model. As we've grown, the need for a more scalable and maintainable solution became apparent. To address this, we embarked on a project to separate user profiles into a dedicated table within each tenant's schema.

The Challenge

Storing user data directly in the Tenant model created several

Read more
HTML CSS JavaScript

Addressing Video Playback Issues on Landing Page

The Issue

Users reported that embedded WebM videos on the landing page were not playing correctly across all browsers and devices. This was particularly noticeable with VP9-encoded WebM files.

The Solution

To ensure a consistent and reliable user experience, the decision was made to temporarily remove the problematic WebM video files and rely solely on MP4 versions for video playback.

Read more

Optimizing Auto-Sync Frequency for Enhanced Responsiveness

Introduction

We recently adjusted the frequency of our automated synchronization process to improve system responsiveness and data consistency. This post details the change and the reasoning behind it.

The Change

The auto-sync schedule was updated from running hourly to every minute. This adjustment aims to provide near real-time updates for critical data.

Schedule::command('posts
Read more