Updates on WooCommerce integration, ninkik-cli, documentation
Due to vacations we did not make it to fix all open issues we had planned but we are on a good way.
We had started with the integration of WooCommerce into ninkik. After digging into WooCommerce’s and WooCommerce Subscriptions’ REST API the first work has been made to implement a Java client. We took a look into existing API wrappers like wc-api-java and java-woocommerce-client but decided against a usage of one of those:
- For the synchronization process we need bulk reading of orders and subscriptions. The available libraries don’t support it.
- The integration of WooCommerce Subscriptions is essential for ninkik. We had to implement it anyways.
- Our Gumroad API implementation uses Spring’s WebClient for fancy reactive stuff. We wanted to go with reactive and don’t rely on Jersey.
The API for orders, products and subscriptions is already implemented.
Maybe we will provide our own reactive WooCommerce REST API client as open source or as part of a ninkik subscription through ninkik itself.
After dealing with the customer’s user interface we had a longer talk about dealing with the administrator’s user interface. As you can see, the customer’s UI is not completely bad.
But the development and “design process” took us a lot of time.
Instead, we decided that for the administrator’s UI we will go with a CLI first. The CLI is based upon Spring Shell and uses ninkik’s REST API. This gives us the advantage to implement a usable UI relatively fast and we can integration testing the REST API in a “production” way.
As for our other libraries, ninkik-cli makes use of Spring WebClient in a reactive way. A larger issue has been the upload of Multipart files.
The documentation is also live at docs.ninkik.com. Whoop!
Continuous Integration and Deployment process
This part has been easy. Thomas had set up a project in Rancher/Kubernetes for ninkik. GitHub Actions uses Helm 3 to do deployments into Kubernetes. We get notified through Telegram.
Our 1.0 milestone is due with end of December. Until then we will integrate basic workflows into ninkik-cli and have to improve the synchronization with Gumroad.