GraphQL and Apollo with Android: From Novice to Expert

Video description

GraphQL is the new way of building scalable and reliable APIs that any client can consume. This course will get you up and running with GraphQL quickly, providing you the core knowledge you need to build GraphQL APIs and deploy them remotely. You will also be able to incorporate Apollo middleware so you can consume the data in Android applications quickly.

The course begins by helping you understand why GraphQL is the ideal way to build robust APIs. You will explore the fundamentals and basics of GraphQL - scalable types and schemas. In addition to this, you will gain a deep understanding of what Graph in GraphQL means. As you progress, you will learn how to set up the server-side code with Node and Express, and JavaScript, along with MongoDB Collections. The course will also focus on GraphQL queries and mutations, along with creating relationships between your data objects.

By the end of this course, you will have the skills you need to create GraphQL APIs confidently and tie them up with a web or Android client.

What You Will Learn

  • Understand how to use tools to build and consume robust APIs with GraphQL
  • Use Node.js and GraphQL to create a back-end server for your Android apps
  • Develop a strong understanding of the GraphQL syntax, types, and data object relationships
  • Explore the concepts of MongoDB and Mongoose data collections
  • Deploy a GraphQL project to Heroku


This course is for advanced developers and developers who are just getting started and looking to learn GraphQL. Android developers who want to build back-end APIs with GraphQL will also find this course useful.

About The Author

Paulo Dichone: Paulo Dichone is a highly skilled developer and teacher with a strong background in Computer Science. With his expertise in Android App Development for mobile and web platforms, Paulo founded Magadistudio, a successful mobile app development company.

Passionate about teaching, Paulo is dedicated to helping learners master Android app development. His goal is to empower students with the knowledge and skills needed to create impressive Android applications and experience the freedom of being an Android developer.

With his deep understanding of the subject matter and a commitment to student success, Paulo Dichone is a trusted instructor who can guide learners on their journey to becoming proficient Android developers.

Table of contents

  1. Chapter 1 : Introduction
    1. Welcome to the Course
  2. Chapter 2 : Why GraphQL – GraphQL vs REST
    1. GraphQL - What is it? Why GraphQL?
    2. GraphQL Who Created it?
    3. GraphQL - Overview and Graph Theory
    4. Demo - GraphQL Quick Demo
  3. Chapter 3 : Getting Started with GraphQL, Server Side and Development Environment Setup
    1. Section Introduction
    2. Development Tools to Install - Cmdr, VSCode and Nodejs
    3. Understanding the basics of the IDE - Extensions, Keyboard Shortcuts
    4. Setting up Our First Project
    5. Install NodeJS and Express
    6. Installing GraphQL and Express
    7. Creating and Understanding Schemas
    8. Creating Our Very First GraphQL Query and RootQueries
    9. The Resolve Method - Returning Data back
    10. Adding a Hobby Type and RootQuery
    11. Adding the Post Type
    12. Adding Relationship between Types
    13. Showing Users Relationship
    14. User Type Relationship to Hobby
    15. Posts Query
    16. Hobbies Query - Adding Fields
  4. Chapter 4 : GraphQL – Core Concepts - Mutations
    1. Introduction to Mutations in GraphQL
    2. Creating a User with Mutations
    3. Creating a Post with Mutations
    4. Creating a Hobby with Mutations
    5. Adding a Post Query
    6. Post and Hobby Queries
  5. Chapter 5 : GraphQL - Types
    1. Understanding GraphQL Scalar Types - Part 1
    2. GraphQL - Types - Non Nullables
    3. GraphQL - Scalar Types and Object Types
  6. Chapter 6 : Connecting to an External Database - MongoDB
    1. MongoDB and Relational Databases - Presentation
    2. Creating an mLab - MongoDB Account
    3. Installing Mongoose Package and Connecting
    4. Creating Mongoose Models - User Model
  7. Chapter 7 : GraphQL – Intermediate Concepts - Mutations
    1. Mutation in GraphQL - Updating a User Type
    2. Mutation in GraphQL - Updating a Post and Hobby Types
    3. Mutation in GraphQL - Removing a User Type
    4. Mutation in GraphQL - Remove Mutation - Final
  8. Chapter 8 : Deploying Our Project to Heroku
    1. Introduction to Remote Servers
    2. Deploying our Node GraphQL App to Heroku
    3. Using Prisma Playground
  9. Chapter 9 : Building the Android GraphQL Client App
    1. Learning Path
    2. About Apollo and the Documentation
    3. Adding Apollo Dependencies to Android Studio
    4. Generating the JSON Schema File
    5. Android Apollo Project File Structure
    6. Setting up Apollo Project and Getting GraphQL Data
    7. Fetching More Data and Showing on the Screen
    8. Setting up Android Client's App User Interface - Row Cell
    9. RecyclerView Adapter
    10. Finalizing Our Recyclerview Adapter
    11. RecyclerView Adapter - Final
    12. Showing List of Users on Screen
    13. Creating UI for Details Screen
    14. Passing Data to Details Activity
    15. Restructuring Details View
    16. Apollo and Gradle Gotchas and FIXES!
    17. Showing Users Hobbies and Posts
    18. Creating Details RecyclerView - Part 1
    19. Setting up Details Activity Adapter
    20. Finalizing Details Screen (Activity)
  10. Chapter 10 : Building the Android GraphQL Client App - Continuation
    1. Fixing the User Filtering Process
    2. Hide View if No Hobbies or Posts Found
    3. Setting up Add User Activity
    4. Setting up Mutation Classes
    5. Adding a User
    6. Finalizing Adding User, Hobbies and Posts
  11. Chapter 11 : Update and Delete – Android Apollo Client App
    1. Setting up UI for Updates
    2. Updating a User
    3. Updating a User - Final
    4. CHALLENGE: Implement Save Hobby and Save Post
    5. Finish Adding Post and Hobby
    6. User Interface for Delete Mutation
    7. Delete User - Congratulations - Finished App
  12. Chapter 12 : Wrap-up
    1. Course Round-up

Product information

  • Title: GraphQL and Apollo with Android: From Novice to Expert
  • Author(s): Paulo Dichone
  • Release date: May 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781800564626