Welcome NeoRatel

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.

To try out jus run

npm i --force

See also

5 Likes

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 !

3 Likes

Thanks for trying it out @RJKeevil !

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.

Sure, but I need to understand the goal better.

Cheers!

1 Like

I just gave your current version a try and installed it with bun and it works really nicely (although the charts.js dependency was not installed automatically)

Love the refreshed look of the UI and the syntax highlighting is already much better.

I’d love that!

Another feature that I’d like would be that the client automatically scans for instances of dgraph running at localhost and suggest to connect to them automatically.

1 Like

Awesome stuff! :raised_hands:

Unfortunately I can’t login to my local environment. Is ACL working already?

1 Like

It should. Maybe i missed some commits. Soon I will sync it up.

Is an updated/new version of Ratel still in the works?

It is another animal. And it is still under development. I’m with family, this reduces my possibility of working on it. January I will have more time.

Happy holidays.

1 Like