Idea 3: Newman Dashboard Discussion

Respected Mentors,

I wish to work on the idea of creating a web dashboard for the Newman Task Runner this summer. The importance of having an aesthetic GUI can be of paramount importance for newcomers and better visualizations for the experienced ones.

The first thing which struck my mind after reading this was how easy is it to control a Kubernetes Control Plane using the Kubernetes Dashboard. I have prior experience in building full-stack Javascript apps which interact with the underlying system using Websockets. (IPC is something I will have to look into.)

I would be happy if I can get further guidance on this idea so we can start working on this feature. :grin:

(Sneakily dropping my GitHub in here)

@Sharath_Iyengar

Discussion regarding pause/abort/resume feature

Currently, in the newman package, we only have a newman.run() feature to start processing the collection. This uses run.start(callbacks) whose implementation is in the postman-runtime library.

Hence, digging deep into the code of postman-runtime, I found out that the Run object provided by this library has a key called commands. This enables run.commands.pause(), run.commands.abort() and run.commands.resume() to be called from the newman package.

However, we do not use these functions currently in the newman package. I believe we can set a listener on the emitter object which listens for pause abort and resume events and call these functions accordingly.

Similar to these events, we can create another events which we can call through the emitter object returned by newman.run().

@zerefwayne Glad that you’re interested. You’re definitely looking in the right direction. We do want to make a dashboard which can be used by newcomers and advanced users alike. I think we can start small by building a small webpage which shows the currently executing Newman runs + allowing basic actions like stop, pause, etc.

This can then be improved by allowing users to inspect the whole runs in the dashboard itself! :exploding_head:

I would be happy to work with you to refine this idea if you can begin by writing a draft proposal on Google Docs and share a link with commenting turned on. :grinning_face_with_smiling_eyes:

1 Like

Thank you for the heads up @utkarsh.maheshwari, I’ve started drafting the proposal and shared it with gsoc@postman.com with the correct permissions. The core ideas have been written in the document however it is still WIP.

Document Link

Hello Utkarsh
I went through the code snippets shared by @zerefwayne. And I got a feeling that we can build this. Using some socket magic, it is possible.

And @zerefwayne I hope we can collaborate on this and build an appealing UI together?
Let me know if it sounds interesting.

The document has been shared with the respective mentors. @utkarsh.maheshwari his document is in the folder here https://drive.google.com/drive/folders/1IahjduPWdBMYcs8yXtOx4T0aOKOfpjIS?usp=sharing for further tracking