Controlling your backend platform using an extensible web-based command line interface

If you are a developer who likes using command line tools, you have come to the right place!

One of the projects I worked on, was a platform for hosting Node.js apps in the cloud (aka anode). The platform is deprecated, now that all of the major cloud companies host Node.js apps natively. BUT, as part of working on this project- I developed a web-based command line interface console which served as an entry point to track, manage and control our backend platform.

Instead of developing a dedicated administration UI we developed this console, which was designed to be extensible so that new commands can be added by implementing a simple REST API that exposes the required actions. 

In the past year, since I joined the Microsoft Partner Catalyst team, we have used the console for every project that we worked on. On each project, the first thing we did was set up the console, and only then did we start working on the actual project. This allowed us to control our backend from day 1. We were able to view and query application logs immediately, and we added more and more commands into the console as needed. Because of that, we decided to open-source this framework, so that every one can leverage it.

The console is designed for technical users who have experience with (and feel comfortable) using a command line environment. It can be used as the only tool to administrate your platform or as a quick solution during early stages of development, in parallel to developing a dedicated UI.

I'm leaving out all of the technical details. You can find all the information you need in the web-cli component GitHub repository. 

In addition, I created a sample bootstrap application that can help you get started immediately. The sample app includes out of the box features such as authentication, authorization, user management and a log viewer. Some of these features are implemented as plugins, so that you can use it as a reference for how to extend the console with your own custom commands. More details can be found in the docs folder.

The console in action!

The console in action!

"The attack of the clones" demo: multiple command line "windows"

"The attack of the clones" demo: multiple command line "windows"

I would love to get your feedback.
Hope you enjoy using it at least as much as I do :-)