Skip to content
an chat example showing Relay with routing and pagination
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
data
js
public
scripts
.babelrc
.eslintignore
.eslintrc
.gitignore
LICENSE
README.md
package.json
server.js
webpack.config.js

README.md

Relay Chat

I no longer maintain this project. Since it is a demonstration, you can still fork and play with it

Installation

npm install --global babel
npm install

Running

Start a local server:

npm start

Developing

Any changes you make to files in the js/ directory will cause the server to automatically rebuild the app and refresh your browser.

If at any time you make changes to data/schema.js, stop the server, regenerate data/schema.json, and restart the server:

npm run update-schema
npm start

Feature Highlight:

  1. use with relay-nested-routes and react-router to let multiple routes work and route params as query params

  2. using route params as global state variable (ex: currentThreadID), not ideal for now, but it shows a different possibility

  3. and a more complicated model structure as user-> threads-> messages

  4. pagination for messages

Advice

If you don't know much about GraphQL and Relay, I suggest you:

  1. To know GraphQL first (at least things before introspection part)
  2. Know how Relay connect to GraphQL (and the series below)
  3. Last, learn Relay (and the series below)

I tried these 3 steps in reverse, and I went step by step again.

You can’t perform that action at this time.