Tech Stack: PHP, Laravel, Mockery, Guzzle, mongo, docker
DescriptionI 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.
- Decide on the contracts your code will have
- Change the usage of the old code with the new contracts
- Create the new provider library code
- Update the existing provider code
- create the adapter for each of them so they will fit our contract
- create a factory for getting an implementation for SMS provider