Contributte: Acquisition of Gamee Packages
As the author of Ublaboo packages, I made a deal with Milan some time ago to transfer most of the libraries to Contributte. This mutual help between the “organizations” will push Contributte further towards becoming a robust entity that people trust and rely on. In addition to the currently most used datagrid, Contributte also gained other libraries with tens of thousands of downloads.
A few months and acquisitions later…
As part of my full-time job at Gamee (gamee.com), we developed some excellent vendors that deserve the spotlight. And because I want to see more and more repositories in Contributte, I decided to transfer some packages from Gamee to Contributte again. Let's take a look at them.
gamee/nette-rabbitmq → contributte/rabbitmq
Link to GitHub here: contributte/rabbitmq
The library uses the powerful vendor bunny/bunny for connecting to RabbitMQ. Using a configuration file, you can easily define queues/exchanges, producers, and consumers, and the library itself takes care of everything related to the RabbitMQ API. Necessary learning materials can be found in the README.
gamee/php-jsonrpc → contributte/jsonrpc
Link to GitHub here: contributte/jsonrpc
What communication scheme do you use when implementing an API? The most
common is probably RESTful APIs or their modified versions. A few years ago,
I wrote an API in JSON-RPC.
It's more or less about each request containing a method
and
id
property. The method specifies what I want the API to do
(logIn
, user.authentication.register
, etc.). The
nullable ID is unique per request, ensuring proper functionality when calling
asynchronous APIs (I can send multiple requests to the server, but they can
return in a completely different order, so it's good to identify each request
somehow).
Integration into Nette brings simplicity in mapping methods to classes in application logic and automatic validation of the JSON-RPC schema and incoming request. We use JSON schema for validating input data. And again – we have implemented everything for you. The library's README is still under construction. Hopefully, we will soon see a proper tutorial and demo in planette/playground. :)
ublaboo/anabelle → contributte/anabelle
I haven't properly mentioned the Anabelle project anywhere yet, so I'll fix that here because it closely relates to the aforementioned JSON-RPC.
I've grown fond of JSON-RPC, and it appears in all the projects I (co)work on. Every API should naturally have API documentation. Apiary or Swagger is fine, but their design is tied to REST APIs. So, one beautiful evening, I extended Markdown with include macros and a few others, highlighted it, and voila, extended highlighted Markdown was born. :D My current favorite API documentation tool! With Anabelle, I document JSON-RPC, REST, and even write my notes entirely unrelated to programming.
- GitHub: contributte/anabelle
- Demo: https://examples.contributte.org/…ges/anabelle
- Playground: https://github.com/…tte-anabelle
Sign in to submit a comment