Today we are launching Mooncamp on Product Hunt! Mooncamp is built on top of Dgraph, which was the best technology decision we could have ever made! I am happy to answer any question you might have, on how we built Mooncamp with Dgraph!
Also, if you want to try Mooncamp or give us an upvote, that would be awesome!
Hi @Joschka amazing job! Product feels really smooth! Could you share some lessons you had while building Mooncamp with Dgraph? Are you guys using GraphQL?
Hi @AugustDev, thanks. Great that you like Mooncamp
We are not using GraphQL, but DQL + our own implementations for a lot of Dgraphâs GraphQL features (such as access management). This allows us to still fire DQL directly from the frontend. Reason is, that we started building Mooncamp when GraphQL wasnât available yet. However, we chose to stick with DQL, because we love the extensions Dgraph added to the GraphQL standard (such as âvarâ blocks).
Thanks for sharing @Joschka, very impressive work!
Weâre also planning to roll with DQL (for an educational website) and itâs interesting to see your approach!
Few questions if I may âŚ
our own implementations for a lot of Dgraphâs GraphQL features (such as access management). This allows us to still fire DQL directly from the frontend
Did you do any load/concurrency testing of using DQL directly from the frontend? Weâre a little uncertain of the limitations here in terms of âopen connectionsâ when not working with gRPC. I assume youâre using the the HTTP or do you have some middleware? Could you unpack a little bit more about âyour own implementationsâ?
such as âvarâ blocks
Could you share any implementation details around this nice filter? Does it employ those âvarsâ a lot? Any lessons learned when building complex filter would be much appreciated. Also, did you ever build a filter that targets more deeply nested attribute (multiple hops down) like Owner.Country.Name?
Do you mean trigger DQL from the frontend, because given that DQL is not constrained by auth (itâs basically SQL for Dgraph) I canât think how sending DQL statements from a public client (like a website) could be secure.
@Daniel I read your post and want to answer asap. Itâs on my todo.
@BenW true, that wouldnât be feasible, or secure. We have our own access management implementation that acts as a proxy between the client and Dgraph. However the client is essentially free to query whatever (meaning all DQL features are available)