The APEER Module Debugger

13.8.2019
How-tos

Hi fellow peers,

once in a while we like to do so called hackdays in our team. You can imagine those days as a kind of mini-hackathons where we build features or tools that are currently not in our backlog or have not yet been requested by our users although we believe they would be very useful for them. One of those hackdays happend on August 1st where we released one of those tools - the APEER Module Debugger.

The APEER Module Debugger

Initially started as a free-time side-project by Nitish this tool will build and run your modules locally - meaning on your own computer - as if they were running inside the APPER context.

Why is that such a big deal?

Publishing your code on APEER is very easy. Using one of our examples/ templates for the most commonly used languages supported by the corresponding ADKs (APEER development kits) gets you up and running in almost no time. However when your code runs fine locally but fails on APEER the headache begins. You need to understand what went wrong, fix it, push your code, wait for it to build and then run it again - only to see that your changes might not have fixed your problem. That's why we built the debugger. It lets you fix your problem, build and run it without the need to push it to APEER first and run it inside a workflow. It will also show you all logs generated by your module. With the APEER module debugger you will be able to judge if your change fixed the problem in a few seconds.

How to get it

Pretty easy: Download the installer from our github page and install.

The debugger was working before but required you to check out the code from github, install nodejs and run it from the command line. The main thing we did on our last hackday was setting up the automatic deployment. You can now download installers for windows and macOS with linux coming soon. Just go to our github site form where you can download the latest release for your operation system.

APEER module debugger initial release in version 0.5.0
Our initial release in version 0.5.0

How to use it

Check out our documentation about the APEER Module Debugger here. Please be aware that the tool is currently in version 0.5.0 and that we did this in purpose because we don't consider it to be final. It's useful, has an installer, works fast but still has some limitations. For example will you need to restart the debugger to work on another module than the one currently selected.

How we did it

Framework and language

The APEER Module Debugger is a React.js project running inside the electron browser which makes it a web app running as a native app on all commonly used operation systems. The language is of course javascript.

Deployment

One of the best feature of Azure DevOps is that you can use Microsoft's build pipelines for free for open-source projects. So we added continuous integration and continuous deployment (CI/CD) using Azure DevOps. To enable it you just go to your repository settings on github and add the Azure pipeline integration, log-in to your account, select one of the predefined build definitions and voila you have CI/CD for your project. Microsoft offers a lot of predefined build pipelines and in our case we could just use the nodejs-template.

Azure pipeline definition for the APEER Module Debugger
Azure pipeline definition for the APEER Module Debugger

Can you please add feature xy

Sure we can, and we will at some point. But keep in mind that this is a side-project for us because our main focus is the APEER platform itself. If you have feature requests feel free to add them as github issues here. But why don't you just give it a try yourself? It's an open-source project after all. Please feel encouraged to contribute to this project by forking our repository and implement the features you need. We will happily review your pull request and merge it into the debugger. And then it will automatically build and be deployed as a new version for everyone!

So go ahead and install the debugger. We hope that it will help you to create more and better APEER modules!

Thomas Irmer

Software Developer

Related Posts

Stay in touch with our newsletter!

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form