Skip to content

ianzcreative/megamorph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Megamorph - The Universal Metamorphic API Bridge for Filament

Megamorph

Build integrations without code. Decouple your application logic from third-party vendor constraints with a powerful, metamorphic transformation layer.

Megamorph empowers developers to create flexible, scalable API integrations for Laravel applications using Filament. Say goodbye to rigid code and hello to configurable, metamorphic mappings that adapt to any vendor's requirements—effortlessly.

💡 Why Choose Megamorph?

In today's fast-paced development landscape, modern applications are frequently hampered by vendor lock-in and hardcoded integration debt. Integrating third-party APIs often involves crafting brittle DTOs (Data Transfer Objects), manual data mappers, and ad-hoc logging for each provider. When vendors update their schemas (e.g., renaming a field from "email" to "user_email") or you need to switch providers, your codebase demands extensive refactoring, leading to downtime and frustration.

Common Pain Points with Standard HTTP Clients

  • The Deployment Bottleneck: Even trivial changes, like field renames, necessitate code updates, pull requests, reviews, and deployments—slowing your team down.

  • The "Black Box" Syndrome: Basic Http::post() calls lack transparency. Without manual logging, debugging production issues becomes a guessing game, wasting hours on root-cause analysis.

  • Transformation Overload: Controllers and services bloat with vendor-specific logic—formatting dates, computing taxes, or string manipulations—just to match the API's JSON structure.

  • Vendor Lock-In Trap: Migrating from one provider (e.g., Stripe to PayPal) requires a full rewrite of your integration layer, risking bugs and extended timelines.

Megamorph solves these by introducing a metamorphic layer that treats API integrations as configuration, not code. Send your internal data structures, and let Megamorph dynamically "morph" them to fit any vendor—all managed through an intuitive Filament UI.

🚀 Key Features

Megamorph is designed for real-world scalability, with features that streamline development, operations, and auditing:

  • Zero-Code Mapping: Visually map your internal data keys to external vendor fields using a drag-and-drop Filament interface—no PHP changes required.

  • Dynamic Expression Engine: Leverage Symfony Expression Language for advanced transformations, including math operations, string manipulations, conditionals, and more—right within your mappings.

  • Environment Swapping: Effortlessly switch between sandbox and production credentials via the UI, eliminating the need to edit .env files or manage multiple configs.

  • Shadow Logs (Full Audit Trail): Gain deep visibility with automatic logging of every request and response, including payloads, headers, and metadata—for effortless debugging and compliance.

  • Smart Replay: Handle vendor outages gracefully by replaying failed requests with one click, reducing manual intervention and data loss.

  • Bulk CSV Export: Generate professional reports for finance, audit, or compliance teams with filtered, exportable log data.

  • Log Retention Policies: Maintain a lean database with automated purge commands, ensuring performance in high-traffic environments.

  • Polymorphic Linking (v1.1 Roadmap): Directly associate logs with your application's Eloquent models (e.g., User, Order) for contextual insights.

📖 How It Works: Core Concepts

Megamorph operates on a hierarchical structure for clarity and flexibility:

  1. Provider: Represents the third-party service (e.g., "Payment Gateway" like Stripe or "Email Service" like SendGrid).

  2. Endpoint: Defines specific actions within a provider (e.g., "Charge Card" or "Send OTP").

  3. Mapping: Configures transformation rules for each endpoint, including key mappings, expressions, and authentication.

Feature Comparison: Megamorph vs. Standard Laravel HTTP

Feature Standard Laravel HTTP Megamorph Bridge
Field Mapping Hardcoded in PHP Configured via UI
Logic/Formulas Inside Controllers In Metamorphic Layer
Logging Manual / Third-party Native "Shadow Logs"
Field Changes Requires Deployment Instant via Dashboard
Switching Vendors Heavy Refactoring Swap Provider in UI
Audit & Replay Custom Implementation Built-in Smart Replay & Exports

This table highlights how Megamorph reduces technical debt and accelerates iterations.

View documentation here Megamorph Full Documentations

About

Megamorph empowers developers to create flexible, scalable API integrations for Laravel applications using Filament. Say goodbye to rigid code and hello to configurable, metamorphic mappings that adapt to any vendor's requirements. effortlessly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors