The AppSync Masterclass basic 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. [Plus or Premium package only]
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
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 tests for retweet mutation
Implement unretweet mutation
Add integration tests for unretweet mutation
Add acceptance tests for unretweet mutation
Implement reply mutation
Add integration 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