relay-rails-blog
relay-rails-blog copied to clipboard
A graphql, relay and standard rails application powered demo weblog. We are using Graphql server and relay for our react component data needs.
Demo blog application powered by Rails, react, graphql and Relay.
This blog is an exploration exercise to understand two new technologies - GraphQL and Relay. We are using standard rails application together with webpack for handling front-end dependencies.
Status
Application supports reading and creating data from and on server using GraphQL.
Tutorial:
- Introduction: https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-getting-started-955a49d251de
- Part1: https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-creating-types-and-schema-b3f9b232ccfc#.6micmekh2
- Part2: https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-first-relay-powered-react-component-cb3f9ee95eca#.ssisfzsm0
- Part3: https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-dynamic-component-rendering-2be4e208ef92#.gvw5kevg1
- Part4 https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-authentication-and-authorisation-f7c07ebb47b3#.2y1h14x2p
- Part5 - Integrating Webpack with
react-on-railshttps://medium.com/@gauravtiwari/graphql-and-relay-on-rails-moving-to-webpack-9c6a420b4eea#.60z7xg1j0 - Final - Wrap up https://medium.com/@gauravtiwari/graphql-and-relay-on-rails-wrap-up-500c67522cd2#.gt0b65fa7
Current features
- List posts
- List comments of the posts
- Infinite Scroll - posts and comments
- Show author info, votes and comments count
- Mutations to create comments and votes
- Edit and Update comments
- Create and Delete posts
- Add a react native app https://github.com/gauravtiwari/graphql-blog-mobile
Demo Links
Resources
- Facebook Relay: Official relay docs
- GraphQL: Official GraphQL spec
- graphql-ruby & graphql-relay-ruby: For defining GraphQL schema and Relay implementation in Ruby GraphQL classes, and getting Rails to speak GraphQL.
Webpack: Module loader
TODOs
- Explore Relay subscriptions to hook it with ActionCable http://graphql.org/blog/subscriptions-in-graphql-and-relay/
Running locally
To run the application, please just clone the repo and run it like so:
git clone [email protected]:gauravtiwari/relay-rails-blog.git
cd relay-rails-blog
bundle install
npm install
./start (from terminal). If you get permission error, just do chmod 777 start