The AppSync Masterclass plus package
Learn how to build performant and scalable GraphQL APIs by building a Twitter clone using AppSync, Lambda, DynamoDB, Cognito, Vue.js and Amplify.
How do GraphQL APIs work? How to define a GraphQL schema.
How are GraphQL APIs different from REST? The pros & cons of each.
What is AppSync? How does it compare to API Gateway?
How to test AppSync APIs both locally and remotely with end-to-end tests.
How to secure AppSync APIs with the right auth method and prevent unauthorized access.
Data modelling techniques for DynamoDB.
Hands-on experience with popular AWS services such as AppSync, Lambda and DynamoDB.
Hands-on experience building something non-trivial with the popular Vue.js framework.
How to build an effective caching strategy to optimize performance, cost and scalability.
Best practices for logging and monitoring so you can spot and fix issues in production quickly. [Premium package only]
What is GraphQL?
FREE PREVIEWWhat is AWS AppSync?
FREE PREVIEWAppSync vs API Gateway
FREE PREVIEWAppSync vs running GraphQL in Lambda
What is AWS Amplify? [coming soon]
FREE PREVIEWQuiz
FREE PREVIEWSet up the backend project
FREE PREVIEWDesigning the GraphQL schema
Configure Cognito User Pool
Save user profile on PostConfirmation
What should we test?
Add integration test for confirmUserSignup
Add acceptance test for confirmUserSignup
Implement getMyProfile query
Add unit test for getMyProfile query
Add acceptance test for getMyProfile query
Capture AppSync's GraphQLUrl in .env
Implement editMyProfile mutation
Add tests for editMyProfile mutation
Implement getImageUploadUrl query
Add unit test for getImageUploadUrl query
Add acceptance test for getImageUploadUrl query
Implement tweet mutation
Add integration test for tweet mutation
Add acceptance test for tweet mutation
Implement getTweets query
Add unit tests for getTweets query
Add acceptance test for getTweets query
Implement getMyTimeline query
Add tests for getMyTimeline query
Use context.info to remove unnecessary DynamoDB calls
How are you finding the AppSync Masterclass so far?
Implement like mutation
Implement Tweet.liked nested resolver
Rewrite tests with GraphQL fragments
Add tests for like mutation
Implement unlike mutation
Add tests for unlike mutation
Implement getLikes query
Add tests for getLikes query
Implement Profile.tweets nested resolver
Implement retweet mutation
Implement Retweet nested resolvers
Add integration tests for retweet mutation
Add acceptance tests for retweet mutation
Implement unretweet mutation
Add integration tests for unretweet mutation
Add acceptance tests for unretweet mutation
Implement reply mutation
Add tests for reply mutation
Implement Reply nested resolvers
Add unit tests for Reply.inReplyToUsers VTL
Add acceptance tests for reply mutation
Implement follow mutation
Implement Profile.following and Profile.followedBy
Implement getProfile query
Add tests for follow mutation
Distribute tweets to followers
Add integration tests for the distribute-tweets function
Add acceptance tests for the distribute-tweets function
Add tweets to timeline when following someone
Add integration tests for distribute-tweets-to-follower function
Add acceptance tests for distribute-tweets-to-follower function
Implement unfollow mutation
Add acceptance tests for unfollow mutation
Implement getFollowers query
Compare the two ways of hydrating results
Add unit tests for hydrateFollowers.request VTL template
Add acceptance tests for getFollowers query
Implement getFollowing query
CI/CD pipeline intro
Configure CI/CD pipeline with Github Actions
How to promote change through different stages
Wrap up
More details to come
Sign up to Algolia [coming soon]
Add search to GraphQL schema [coming soon]
Implement search query [coming soon]
Add tests for search query [coming soon]
Support tracking hashtags [coming soon]
Add getHashTag to GraphQL schema [coming soon]
Implement getHashTag query [coming soon]
Add tests for getHashTag query [coming soon]
What are AppSync subscriptions? [coming soon]
Add subscription for retweets [coming soon]
Add subscription for likes [coming soon]
Add subscription for mentions [coming soon]
Support Direct Messages in the GraphQL schema [coming soon]
Implement sendDirectMessage mutation [coming soon]
Implement listConversations query [coming soon]
Implement getDirectMessages query [coming soon]
Understanding AppSync caching [coming soon]
Configure per-resolver caching [coming soon]
How to support 2-way pagination? [coming soon]
Add two-way pagination support for timeline [coming soon]
More details to come