The idea is to make the Dgraph Dashboard a joint tool with Dgraph as a program. I think you guys know Electron.js - So, I was looking for Dgraph’s UI code. I found it sort of hidden there among the various folders. I overheard the code and came to the conclusion that what I have to propose is appropriate.
I figured it would be more comfortable and simple to have a self-contained binary rather than a page linked to a flag in the terminal. Electron can generate a simple binary with the code you already have. The Dgraph Dashboard is made in React. I found a boilerplate that covers almost all libraries used in the Dashboard.
Electron can generate a version of the Dgraph Dashboard for each operating system (Linux, OSX, Windows). With this approach it frees port 8080. In addition to making it more practical and attractive. And the idea is not only that, it would separate this code into a single repository so that others can evolve the code of the tool itself.
I think that way it would be more interesting, I thought the UI code was not open-source on your part. And that if there were existed available to be able to do something with it.
Dashboard seems like a good idea. My two cents - for UI I work in React primarily. I used to use Redux but over time found the forced normalization and amount of code to be cumbersome. I changed to mobx and love it for productivity… I was worried that controlling state with mobx would be difficult, but it’s strict mode + actions for mutating observables provides control / peace of mind. I don’t even use setState in my components any more…it’s all observables and actions. Of course if you prefer redux, no harm no foul, just wanted to share my experience in case it is helpful
I just talked about React with Redux because the UI already, ready. It would just transpose to the boilerplate.
I even started doing it yesterday. However, I came across some issues that I have to figure out how to solve. I believe that whoever made the UI (@pawan ) would have more ability to transpose quickly. And Boilerplate already delivers everything else ready for production.
However, if the Dgraph staff opens a new repository for this idea with other tacnologies. I’m not against it at all.
Having good dev tools to use with GraphQL± would be awesome. I’ve had in my mind to look into what is out there but haven’t made time yet. One thing I struggle with is quickly bringing strong typing to a wide variety of queries. I use typescript / node personally and make a typescript interface for every query result for the strong typing… But the holy grail would be an in-IDE tool (ideally vscode plugin) that does static analysis on the query text and infers the expected type of the result. Would be really interested to hear what success you have using existing graphql tools for use with GraphQL±.
Thanks @MichelDiz and @tamethecomplex: We’re planning to split up the UI from Dgraph, and focus on build a much more advanced UI around Dgraph. This would be a standalone server, separate from Dgraph binary – though, it would be part of our proprietary offering.
Update: I find the idea of using Electron to build it as a desktop app quite interesting. We’ll definitely consider that.