Application / Integration Cookbook

As a little side-project next to my work on The Things Stack, I recently started working on something I’m calling “The Things Stack Application Cookbook”. The idea is that it becomes a repository of what I believe to be a good starting point for building applications and integrations for The Things Stack.

It’s a work in progress, but it already covers:

  1. Receiving webhooks from The Things Stack (with authentication)
  2. Queueing uplink messages in Redis Streams or RabbitMQ
  3. Publishing uplink messages on a local MQTT server
  4. Asynchronously processing uplink messages:
    • Storing uplink messages in a SQL database (Clickhouse)
    • Storing uplink message in a NoSQL database (Mongo)

With (4) you can already build your own storage integration, allowing you to run your own (analytics) queries on your data without being restricted by the retention limit of The Things Stack’s built-in storage.

Other things I would like to add are:

  • Storing uplink messages in a time series database (InfluxDB)
  • Supporting serverless (maybe), with cloud pub/sub and cloud storage
  • Support for downlink
  • Integrating with Node-RED

I hope this will be useful to people. If you’d like to see something else covered, please check the existing issues on GitHub to see if it’s already requested and if not, submit a new feature request on GitHub. For other feedback and discussion, just comment here on the forum.

7 Likes

Thank you. I need the knowledge.

Hi there, this sounds very interesting to me. I’m sure I’ll take a closer look at it.
For now I’m working on a Laravel 8/MySQL based project that works already fine so far.
As to provide my latest/newest feature in my Application, is there a way to install Uplink Decoders
(Javascript) via the API ? Or could this work via the TTN-LW-CLI ? I’ve already tried this last one
but I’m getting into authentication errrors. It’s about an application wide decoder and I am using the App’s
API Key when having created the App before.
Thanks for any little hints