gothinkster/realworld

Implement GraphQL + Apollo/Relay for the Node + React codebases

EricSimons opened this issue ยท 30 comments

Originally brought up by @kentcdodds here; further discussion here.

Opening this issue to get a discussion going!

I can help with this (eventually). Would recommend using Apollo.

Awesome! Wanna fork the starter kit and post the link here so that others can watch/help?

I don't have time right now, but I will see if I can connect you with people in the Apollo community who have more free time than I do

I've been talking a bit with mxstbr here. He might be willing to help with it. He was mentioned in the tweet that you linked to above

I think this boilerplate https://github.com/entria/graphql-dataloader-boilerplate can be used as a start point

I have this one for React Native + React Navigation + Relay https://github.com/sibelius/ReactNavigationRelay.

It is almost migrated to Relay Modern as well: entria/ReactNavigationRelayModern#5

This is a great idea! Unfortunately I don't have time to work on this myself but would love to help if I can.

@sibelius awesome! Would you be interested in taking lead on GraphQL/Relay?

@stubailo no worries โ€” would be โค๏ธ if you could give feedback on the final code once it's ready!

@EricSimons would definitely encourage use of Apollo over Relay. It seems to be getting more traction these days

We can do both, Apollo, Relay and Relay Modern.

I can help with any questions for sure.
I don't have time to work on this myself

@leebyron do you know of anyone in the GraphQL community who might be interested in this?

@EricSimons I can help with the GraphQL implementation in the server side.

@thebergamo awesome! I just spun up a new issue for it (#46) โ€” can you fork the starter kit and post it in the issue? I'll update the status afterwards ๐Ÿ‘

I can chip away at a Relay Modern implementation, @EricSimons, @thebergamo.

@steveluscher awesome! Just spun up a new issue for it โ€” can you fork the starter kit and post it in the issue? I'll update the status afterwards ๐Ÿ‘

Also, I created a gitter room so that all of the folks working on graphql/apollo/relay can chat and coordinate (since they rely on each other) cc/ @thebergamo

It looks like this issue has been split into multiple other issues. Do we still need this one or can we close it?

@EricSimons I can handle Apollo if you give me a few weeks haha

@thebigredgeek all help will be very welcomed! until the end of week we will have a version of the server side graphql implemented with Apollo

@thebergamo @thebigredgeek should I create a new issue for the Apollo part of this (right now we have GraphQL and Relay issues)?

I'm planning using Apollo as a graphql server. Probably isn't necessary create a new issue.

@thebergamo apollo has graphql-server, but their main focus is apollo-client which is the most popular client-side graphql implementation.

@EricSimons same issue is probably fine

@thebergamo and anyone else here: If you want, you can join the #realworld channel in the Apollo Slack to help coordinate an example, both server and client!

@stubailo I'm in! Thanks for the option!

dostu commented

I have done a GraphQL implementation with React + Apollo front-end and Ruby on Rails back-end.
Front-end - https://github.com/dostu/react-apollo-realworld-example-app
Back-end - https://github.com/dostu/rails-graphql-realworld-example-app
Demo - http://realworld-react-apollo.herokuapp.com/

Would be great to see other implementations, and mix and match them like we can with the REST API. For that, we should first decide on a schema. So far I have come up with this: https://github.com/dostu/rails-graphql-realworld-example-app/blob/master/GRAPHQL_API_SPEC.md. Would love to hear any opinions about it.

Still looking for it? I can hop on this one now.

Found https://github.com/thebergamo/realworld-graphql by @thebergamo which is pretty nice, just wish it was in express instead.

I am working on a java version GraphQL implementation recently after releasing GraphQL ecosystem is quite sophisticated recently. The code base is also https://github.com/gothinkster/spring-boot-realworld-example-app, the same place of the REST implementation, which means it reuse lots of common codes (such as database access, input validation).

The GraphQL schema is firstly copy from https://github.com/thebergamo/realworld-graphql. But I changed some details about pagination, comments:

https://github.com/gothinkster/spring-boot-realworld-example-app/blob/master/src/main/resources/schema/schema.graphqls

The GraphQL code is using dgs-framework just release recently by Netflix.

I have a Relay Real World example here https://github.com/sibelius/relay-workshop

it also has 12 practical exercises to help learning Relay hooks

it is a tiny social network https://react-europe-relay-workshop.now.sh/

Hello, we moved the addition of new implementations to this website : https://codebase.show/projects/realworld
Please submit your implementation there.