Skip to content

RisingStack/jsconfbp-2019-graphql-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSCONF BP 2019 Graphql UI

Intro

The following create-react-app application is UI for the previously built GQL API.

You should be able to do the following actions:

  • Register and login a user
  • Create a post as a user
  • Comment on a post as a user
  • List out posts with filters
  • List out comments on a post

There are 4 task to finish this application. Keep an eye out for the TODO comments. While finishing these 4 tasks you will learn some basic and some advanced practices on building an apollo-client based UI.

Used dependencies:

Tasks

TASK 1.

Migrate from apollo-boost, write an onError error handler and add a basic inmemory-cache to the apollo client. (TIP: Migration)

  • Extra task: Implement a global loader apollo middleware - increment number at request, decrement at response. (This will require a global state manager like Mobx or Redux)

TASK 2.

Implement the handleSignin function and the SIGNIN_QUERY for the singin (Signin.jsx) page. (TIP: Use the register (Register.jsx) page for an example)

  • Extra task: create a User fragment and use it with every user query and mutation in the src/query/user.js and in the comment and post fragment. (TIP: Use the fragments.js for examples)

TASK 3.

Using the Query component fetch down the post in the post (Posts.jsx) page. (TIP: Use the hello (Hello.jsx) page for an example, use limit and filters variables)

  • Extra task: when you are done, translate your Query component to a useQuery hook.

TASK 4.

Using useQuery hook and fetchMore implement the querying behind the comments section and its pagination for the post (Post.jsx) page. (TIP: Use the posts (Posts.jsx) page for an example, use a reasonable fetchPolicy option so you will be able to see new comments)

  • Extra task: implement the handleCreateComment function and CREATE_COMMENT_MUTATION mutatation for comment posting (TIP: use the refetch after posting the new comment from the useQuery hook in the original task)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors