We’re working on building an internal dashboard for an overview of our operations here at Aerion. The framework we decided to try out was Mozaïk, an open source dashboard framework based on Node.js/React. While it has many useful plugins, we wanted one to display the statuses of the websites that we manage, using the Uptime Robot service. To achieve that, we’d have to implement one ourselves. We wanted it to be available for everyone to use and contribute to it. The benefit of this approach is that instead of spending time recreating basically the same package, others could just contribute to ours instead.
Pick a license
The first step was to create a GitHub repository and decide on a license to use. We decided to use an open source license so that the plugin could be used be anyone for any means they like. The MIT license is a permissive license and is the most used open source license on GitHub by far. It was an easy choice.
Build the project
Following that was actually creating the plugin. We found that the best way to learn how to create plugins was to not only have a read of the documentation, but to also study existing plugins. We set up the base structure of a plugin and then had to work out how we can get the information we want to display. Luckily, Uptime Robot has an API which we could use, and an npm package which made things even easier. We used the API to get a list of our websites and display them on our dashboard widget.
Once we got the initial functionality working, the next step was to create a README.md file. This file is displayed on the main page of the GitHub project site and is used to explain what your project is and how to use it. It can make the difference between other people using your project or not.
The final step is to publish the package for others to use. We published it to npm.