Use cases
Webhooks use case
Testing webhooks is notoriously hard and complicated, but Kokomo can improve productivity when implementing all types of webhooks.
Testing and implementing webhooks
Whenever we are implementing webhooks from a 3rd party, we need to build an API that can receive a request and - based on the webhook type - perform certain operations.
The problem is that our local computer that we are using for developing our API is typically not reachable by those 3rd party services, therefore testing webhooks becomes complicated, time consuming and prone to errors.
With Kokomo we can simplify webhook testing and implemntation by an order of magnitude, by exposing our local API as a public service reachable via Kokomo's infrastructure, and by poiting the webhook URL to the Kokomo service.
When the webhook is being sent by the 3d party service, it will be sent to the Kokomo tunnel which will seamlessly proxy the request to your local service. And just like that, we have more reliably implemented webhooks in our applications.
Testing and implementing events
Similarly to webhooks, we may be implementing a Pub/Sub system and we may be running an event collector locally to publish events. It would not be possible for other clients to subscribe to our local server because it would not be accessible over the Internet. This is quite common when we work alongside other developers in a team, and we need to make sure that whoever is in charge of building the subscribers can start testing in development with our publisher that may be preloaded with data we want to make available to other devs.
By using Kokomo's infrastructure, we can expose our local publisher via a secure channel in such a way that the same even data (or event logs) can be accessed centrally without needing to propagate it across every team member. This can save time when developing distributed applications that rely on pub/sub mechanisms.
In general Kokomo can help in various ways to accelerate development productivity when more than one person is working together in a team.