Hey everyone. A few months ago, I took the initiative to try and revamp Ratel. I attempted numerous times and eventually got it to work. However, I realized that maintaining the current Ratel is more complex than building a new one from scratch. So, I thought of creating “neoRatel,” a temporary codename.
If anyone wants to help with testing, adding new features, or even suggesting changes, feel free. My primary goal was to create a dashboard that would be easy to maintain in the future. I aimed to fully embrace functional programming and enforce the use of TypeScript. I’ve used Vite and Zustand. Suggestions for simplification that also consider future maintenance are highly welcome.
I also need UI design suggestions. But first working on features.
Wonderful stuff, I tried this out this morning and am super excited to see it’s potential! Obviously right now a lot of things are placeholders, but the list of features already ticks a lot of my boxes. Having proper graphQL support will be a big deal here, at the moment we also install graphQL playground to help client developers, but this should help a lot!
I’m no front end dev but I can happily support where I can from a feature suggestion/testing/UX perspective.
My initial wishlist from using the current ratel:
GraphQL support (in progress, sweet)
Dgraph Developer metrics (e.g. predicates with the highest processing time when graph was built, ideally query/mutation stats but hard to group as e.g. inserts technically all count as different queries, perhaps i could provide tags? Realise this is huge and needs dgraph changes)
Better graph experience (e.g. not having to mash the “Only a subset of the graph was rendered” until full graph is displayed, icon and label support etc for client showcases, colours being deterministic as new node types are added)
Better code completion and query validation
Revamped cluster management (e.g. no truncation of predicates list, stats refresh button)
“Wiki view” - like data explorer in dgraph cloud, show summary of a node with clickable links to its related nodes
New Dgraph version available notification (helps push people to latest and greatest)
Combined schema view (e.g. DQL predicates not available in graphQL schema)
Once again, thanks for this initiative @MichelDiz !
Indeed, this would be a change to the Dgraph core itself. Because it does not expose metrics per block or predicate. Only from the entire query execution context.
I’m testing an idea for live validation. First I will try creating a VsCode extension. I’m looking at creating a binary that checks DQL, JSON and RDF and validates with the Dgraph lib itself. Extracting the AST and validating it. Dgraph itself has validation functions. I just need to implement a method that exposes this.
I’m explorying several ideas. Thinking about creating a standard to follow to make this experience more predictable.
That would be easy! Add it into the feature list in the readme.