This application intends to demonstrate a few things:
- The power of design systems (see material-ui)
- The power of component systems (the separation of data fetching & presentational, as outlined by dan abramov)
- The power of domain driven design based on a GraphQL schema
This application integrates the following technologies:
- Apollo Client 2.0 to communicate with GraphQL Server
- Create React App
- Material-UI
First, clone the repo via git:
$ git clone https://github.com/ryansydnor/todo-apollo-v2-react.git
And then install dependencies:
$ npm install
And then run the dev server:
$ npm start
Navigate to http://localhost:3000
. The app will automatically reload if you change any of the source files.
This app is using a mock GraphQL endpoint by leveraging Apollo's link-schema.
This means all GraphQL related functionality is located within the graphql
folder.
If you want to add new data, follow these steps:
- Add a
typeDef
ingraphql/graphql.js
- Add to an existing
fragment
orquery
(or create a new one) - Ensure the
mocks
ingraphql/client.js
have an appropriate resolver - Update
graphql/mocks.js
with the data you'd like returned