# helloworld-graphql
The goal of this repository is to try out GraphQL to become familiar with the technology to possibly apply it toward future projects

## Setup
### Server
The server will be a [Spark](http://sparkjava.com/) server because it is supposed to be simple to setup. I will then use [graphql-java](https://github.com/graphql-java) for the server side GraphQL implementation.

### Client
The client will be done in [Angular](https://angular.io/) and use the [Apollo Client](http://dev.apollodata.com/). I've chosen [Angular](https://angular.io/) because it is the most likely client side framework that I'd use in the near future for a new project.

## Goals
- [x] Get a basic GraphQL server running
- [x] Call a basic GraphQL endpoint from within an Angular application
- [ ] Query for nested data
- [ ] Update data from client to server
- [ ] Push updates to a query from the server and have the Angular application update
- [ ] Explore paging and filtering
- [ ] Figure out how strong typing of TypeScript works since GraphQL allows for partial object data
- [ ] Integrate with [@ngrx/store](https://github.com/ngrx/store)

# helloworld-graphql
The goal of this repository is to try out GraphQL to become familiar with the technology to possibly apply it toward future projects

## Setup
### Server
The server will be a [Spark](http://sparkjava.com/) server because it is supposed to be simple to setup. I will then use [graphql-java](https://github.com/graphql-java) for the server side GraphQL implementation.

### Client
The client will be done in [Angular](https://angular.io/) and use the [Apollo Client](http://dev.apollodata.com/). I've chosen [Angular](https://angular.io/) because it is the most likely client side framework that I'd use in the near future for a new project.

## Goals
- [x] Get a basic GraphQL server running
- [x] Call a basic GraphQL endpoint from within an Angular application
- [ ] Query for nested data
- [ ] Update data from client to server
- [ ] Push updates to a query from the server and have the Angular application update
- [ ] Explore paging and filtering
- [ ] Figure out how strong typing of TypeScript works since GraphQL allows for partial object data
  - https://dev-blog.apollodata.com/graphql-dx-d35bcf51c943
- [ ] Integrate with [@ngrx/store](https://github.com/ngrx/store)

Add link for type safety
Add link for type safety