1. GraphQL Fundamentals

    1.1 What GraphQL is

    1.2 GraphQL vs REST

    1.3 GraphQL architecture

  2. Schema Basics

    2.1 Types

    2.2 Fields

    2.3 Scalars

  3. Queries

    3.1 Query structure

    3.2 Selecting fields

    3.3 Nested queries

  4. Mutations

    4.1 Creating data

    4.2 Updating data

    4.3 Deleting data

  5. Variables

    5.1 Query variables

    5.2 Input types

  6. GraphQL on iOS

    6.1 Apollo iOS client

    6.2 Executing queries

    6.3 Handling responses

GraphQL-Lab/
├── GraphQL/
│   ├── Queries/
│   │   ├── GetCountries.graphql
│   │   └── GetCountryDetail.graphql
│
├── Core/
│   └── ApolloManager.swift
│
├── Services/
│   └── CountryService.swift
│
├── Features/
│   └── Countries/
│       ├── CountriesView.swift
│       ├── CountriesViewModel.swift
│       ├── CountryDetailView.swift
│       └── CountryDetailViewModel.swift
│
├── Resources/
│   └── Assets.xcassets
│
└── GraphQL_LabApp.swift