Black Box SMS Integrations

Share on facebook
Share on google
Share on twitter
Share on linkedin
Tech Stack: PHP, Laravel, Mockery, Guzzle, mongo, docker


I got this project that had an implementation with a specific SMS provider. The code that used the SMS service was tightly coupled to the specific integration. That meant adding a new integration would be very hard and should make more providers added easily.

The Workflow:

  1. Decide on the contracts your code will have
  2. Change the usage of the old code with the new contracts
  3. Create the new provider library code
  4. Update the existing provider code
  5. create the adapter for each of them so they will fit our contract
  6. create a factory for getting an implementation for SMS provider