Skip to content

The Inbox Pattern/Process for Laravel apps. Ensure the ordering, uniqueness, and reliable handling of webhook requests.

License

Notifications You must be signed in to change notification settings

shipsaas/laravel-inbox-process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShipSaaS - Laravel Inbox Process

Build & Test (MySQL & PgSQL) codecov

Talking about distributed computers & servers, it is quite normal nowadays to communicate between servers.

Unlike a regular conversation though, there's no guarantee the message gets delivered only once, arrives in the right order, or even gets a "got it!" reply.

Thus, we have Inbox Pattern to help us to achieve that.

What is the Inbox Pattern

The Inbox Pattern is a popular design pattern in the microservice architecture that ensures:

  • High availability ✅
  • Guaranteed webhook deliverance, no msg lost ✅
  • Guaranteed exactly-once/unique webhook requests ✅
  • Execute webhook requests in ORDER/sequence
  • (Optional) High visibility & debug all prev requests ✅

And with that being said:

Laravel Inbox Process (powered by ShipSaaS) ships everything out-of-the-box and helps you to roll out the inbox process in no time 😎🚀.

Supports

  • Laravel 10 & 11
  • PHP 8.2+
  • MySQL 8, MariaDB, Postgres 13+ and SQLite

Architecture Diagram

ShipSaaS - Laravel Inbox Process

Installation

Install the library:

composer require shipsaas/laravel-inbox-process

Export config & migration files and then run the migration:

php artisan vendor:publish --tag=laravel-inbox-process
php artisan migrate

Documentation & Usage

Visit: ShipSaaS Inbox Documentation

Best practices, usage & notes are well documented too 😎!

Testing

Run composer test 😆

Available Tests:

  • Unit Testing 💪
  • Integration Testing against MySQL & PostgreSQL for the inbox:work command 😎
  • Human validation (lol) 🔥

ShipSaaS loves tests, we won't ship sh!tty libraries 🌹

Contributors

  • Seth Phat

Contributions & Support the Project

Feel free to submit any PR, please follow PSR-1/PSR-12 coding conventions and testing is a must.

If this package is helpful, please give it a ⭐️⭐️⭐️. Thank you!

License

MIT License

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy