
Master GraphQL with Apollo to build concise APIs and connect an Android app to a GraphQL backend. Learn Express JavaScript, queries, mutations, and data relationships through hands-on exercises.
Discover how to navigate the GraphQL & Apollo with Android course, access lectures, resources, transcripts, captions, and bookmarks, and engage in Q&A by first searching for answers and helping others.
Compare rest APIs with GraphQL and see how GraphQL uses a single query to fetch only the needed user and posts data, avoiding multiple endpoint requests.
Facebook created a data query language to solve data delivery problems as app complexity grew, moving beyond rest to an intuitive, powerful query language that returns organized data.
Explore graph theory fundamentals, including directed and undirected graphs, nodes and edges, and how graph queries with Apollo and GraphQL enable rich data retrieval in one call from connected data.
Explore a simple GraphQL API with GraphiQL on a local server to query books and authors, learning about schema, query and mutation types, and fields like id, name, genre, age.
Follow a learning path to build a GraphQL API using no jass and express with Apollo, persist data to a remote database, and serve it to an Android client.
Install essential tools for starting a graphical server project: Commander, Node.js, and Visual Studio Code, with cross-platform guidance for Mac and Windows.
Install essential extensions for Visual Studio Code to enable IntelliSense, auto import, and Prettier formatting; master keyboard shortcuts like Ctrl+tilde and Command+T to speed up coding.
Initialize a Node.js project with npm init and create a package.json. Create a server directory and install Express with npm install express --save.
Install NodeJS and Express to bootstrap a server, create app.js, require express, instantiate the app, and listen on port 4000, logging when it starts.
Learn how a GraphQL schema acts as a blueprint of types and relationships, define a user type with fields, and set up root queries for the endpoint.
Explore building a GraphQL root query and a user type, including an id argument and a resolve function that fetches and returns name and age from a data source.
Learn how the GraphQL resolve method returns user data from a dummy array by id using lodash find, exposing id, name, age (and an added profession) in queries.
Extend a GraphQL API with a hobby type and a root query, add a profession field to users, and populate dummy data to query by id for an Android client.
Add a post type with id and comment fields to your GraphQL schema, wire it to root queries with id arguments, and resolve post data in this Android course lecture.
Add relationships between user, hobby, and post types in a GraphQL schema to model one-to-many connections. Use arrays for hobby and post and include user IDs to link entities.
Add a user ID to posts to define a user-post relationship, then resolve and fetch the related user data (name, profession) within GraphQL, enabling query of post with its author.
Explore how to relate users to hobbies with GraphQL by querying hobby data and nested user fields in a single request, leveraging schema design and selective fields.
Extend the user type with a posts field to fetch all related posts using a GraphQL list, filter by user id, and resolve a collection of posts.
Explore mutations in GraphQL, learning how to modify data alongside queries. See how GraphQL handles data changes and how mutations complete the data fetch-modify cycle with Apollo for Android.
Learn to create a user mutation in GraphQL and Apollo, with name, age, and profession, return the new user, and connect it to posts and hobbies via the root mutation.
Create a post mutation with post type, comment, and user ID, and resolve the post with its related user data to demonstrate GraphQL mutations and post-user relationships.
Learn to create a hobby mutation with GraphQL and Apollo, defining arguments like title, description, and user id, and returning the linked user data to build a robust Android client.
Explore adding a post query and retrieve all users, hobbies, and posts using GraphQL with Apollo on Android, handling lists and plural types.
Explore how to add posts and hobbies in a GraphQL API with Apollo, returning lists of hobby and post types along with related user details, comments, and nested queries.
Explore GraphQL scalar types and how they define primitive fields, including id, name, age, is married, and gpa, within a person type.
Enforce non-null fields in GraphQL by wrapping base types with a non-null wrapper, ensuring fields like name and age are never null and triggering validation errors.
Learn to define scalar and object types in GraphQL, build a person object with fields and a resolver, troubleshoot type errors, and explore nested object returns in Apollo with Android.
Compare relational databases with MongoDB, highlighting tables, rows, and primary keys in RDBMS versus collections and documents in MongoDB, with JSON structure and queries with no joins.
Sign up for mLab, create a sandbox MongoDB instance on AWS, and name your database. Create a database user, then update your app with the username and password to connect.
Install the mongoose package, connect to your database with mongoose.connect, and confirm the connection with an open callback, while applying the URL parser option to resolve a deprecation warning.
Create mongoose models to structure MongoDB collections by defining user, hobby, and post schemas. Export a user model with fields like name, age, and profession; MongoDB auto-generates _id.
Master a GraphQL update mutation for a user type, updating ID-based fields: name, age, and profession, with a set operation and returning the updated document.
Learn to implement GraphQL mutations with Apollo in Android to update posts and hobbies by ID, returning the updated fields like comment, title and description while validating mutation structure.
Learn how to implement a GraphQL mutation to remove a user by ID, including defining the remove user mutation, passing the ID, executing the mutation, and validating the removal.
Explore how to implement remove mutations in GraphQL with Apollo on Android, deleting posts and hobbies by ID, and learn create, read, update, and delete operations.
Deploy a Node GraphQL app to Heroku using the Heroku CLI and Git, with a proc file and port configuration to expose the GraphQL endpoint.
Explore GraphQL playgrounds, including Prisma Playground, to query data, run mutations, and inspect schemas. Share sessions, manage endpoints, and compare tools to improve API design for production.
In this learning path, we map from building a GraphQL server and database to exposing an external endpoint, then build an Android client using Apollo to query the GraphQL API.
Explore how Apollo Android serves as a middleware between client and server for GraphQL, generating Java models from queries. Get started with Android Studio using the official docs and GitHub.
Follow a guided installation to add Apollo dependencies to Android Studio by editing the project and app Gradle files and selecting the correct versions. Troubleshoot and sync the project after applying the Android plugin before the Apollo plugin, verify build success, and reference documentation for any issues.
Set up an Android Apollo project by creating a meaningful GraphQL directory structure, placing the schema and profile query, and configuring Gradle so Apollo generates users query classes under build.
Set up an Apollo client for Android, configure HTTP, and fetch GraphQL data using a generated users query, mapping responses to user objects.
Learn how to fetch additional data with Apollo in an Android app, request internet permission, update the user interface on the main thread, and display user data on screen.
Set up a recycler view with a dedicated row layout and card view to display a scrollable list of users, showing name, age, and profession.
Create a recycler view adapter to bind user data from a GraphQL API, using a user view holder and binding username, age, and profession.
Finalize our recyclerview adapter by inflating the user row layout, creating a view holder, and binding user data from the Apollo GraphQL users query (name, age, profession) for efficient scrolling.
Wire a recycler view with an adapter and a linear layout manager to fetch and display a user list via apollo graph ql api, including progress handling and error logging.
Restructure the details view by arranging a horizontal linear layout with bottom buttons, assign ids and styles, and integrate a recycler view to organize data while ensuring on-screen data security.
Troubleshoot Apollo Android and Gradle issues by switching from a snapshot to a stable plugin version, syncing Gradle, and rebuilding to fix generated query class problems.
Implement a get user query in GraphQL to fetch user details, posts, and hobbies by user id, using Apollo-generated classes, and display on the Android details page.
This lecture implements a details recycler view adapter that combines posts and hobbies into a single reusable adapter, with two data lists and a shared view holder.
Wire up the details activity adapter to bind user hobbies and posts in a recycler view, toggle visibility with hobby and post buttons, and manage data lists for dynamic updates.
Finalizing the details screen demonstrates retrieving the user's posts and hobbies from the GraphQL response, asserting non-null lists, and feeding them into the recycler view adapter with an isHobbySelected flag.
Fix the user filtering in GraphQL by applying a user id filter to posts and hobbies, returning only data related to the parent user.
Programmatically replace an empty recycler view with a centered gray text view showing messages like no hobbies available for this user or no posts available for this user.
Create a new add user activity with inputs for name, age, and profession and a save button, and prep a mutation to save the user.
Finalize adding a user, hobby, and post with GraphQL mutations in an Android app using Apollo, validating server responses, showing toast confirmations, and refreshing the UI to reflect updated data.
GraphQL is the new way of building scalable, reliable, and concise API's that any client can consume.
If you want to master GraphQL with Apollo so you can then use, in our case, the Android app as the client, then this course is for you.
This course will get you up and running with GraphQL quickly and teach you the core knowledge you need to deeply understand and build GraphQL APIs and deploy them remotely and incorporate Apollo middleware so you can consume the data in Android applications quickly.
GraphQL fundamentals? Is included.
Building the backend with Node, Express, MongoDB, and Apollo? Also included.
Integration with Native Android App Development? You got it!
If you are new to GraphQL, or if maybe you've dabbled in it for a bit but still want to get a better grasp of GraphQL, then this is certainly a course you should take.
The course follows a linear structure for better retention. Here's what's included ( just a gist of it):
Learn and understand why GraphQL is the desirable way of building succinct APIs
Learn the fundamentals of GraphQL: Scalable types and Schemas
Deep understanding of what Graph in GraphQL means.
Setting up the server-side code with Node and Express, and Javascript.
Setting up MongoDB Collections
GraphQL Queries and Mutations
Creating relationships between your data objects
Deploy the server-side GraphQL project to Heroku
And finally, create an Android App that interfaces with our GraphQL API
As you can see, this course covers all you need to know to become a well-rounded developer. You'll learn the backend and the front-end as well.
GraphQL is a big deal. So much that big companies, such as Facebook ( they created GraphQL ), Shopify, Fairfax, Intuit, KLM, Paypal, Pinterest, Twitter, and so many more, use it!
I created this course with you in mind - I wanted you to get up and to run, creating your own amazing projects with the tools and technologies I cover in the course.
By the end of this course, you will be fluently creating GraphQL API's and tie them up with any client (be it web or Android client). And that's when you will call yourself a true well-rounded developer.
See you inside.
Paulo