Four-Project Series

Develop a Powerful GraphQL API in AWS you own this product

prerequisites
knowledge of AWS Lambda, AWS Console, JavaScript, and NodeJS
skills learned
DynamoDB and its main features • implement a GraphQL API using AWS AppSync • GraphQL mutation and subscriptions
Mariano Calandra
4 weeks · 4-6 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you will take on the role of a developer for travel company SimpleTravel. It offers an all-inclusive trip booking service to customers. With the growth of SimpleTravel, more customers ask for flexible queries, but this is almost impossible to achieve with its REST APIs. After a couple of internal meetings it was decided to implement GraphQL APIs to replace the existing APIs.


Each project in this series covers a different stage of the replacement process until you have a fully functioning GraphQL API with authentication in place. We will start with the creation of a data source using Amazon DynamoDB, then implement the GraphQL API using AWS AppSync. We will then protect this API using Amazon Cognito.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Create a Data Source with Amazon DynamoDB

In this liveProject, you’ll use the Amazon DynamoDB NoSQL database to replace SimpleTravel’s relational database. The company decided to use DynamoDB as its flexible schema is well suited to the changing nature of the data being stored. Furthermore, it’s fully managed by AWS so the company doesn’t need to deal with servers and low-level configurations. Once you’ve created the data store, you will implement a Lambda function to query data from it.

Project 2 Make a GraphQL API with AWS AppSync

In this liveProject, you’ll replace SimpleTravel’s existing REST API. The company has grown, and new consumers want to be able to customize data returned by this API. Due to the inflexible nature of the REST paradigm, the new API will be implemented using GraphQL.

Project 3 Push Notifications in AppSync

In this liveProject, you’ll use a GraphQL API implemented using AWS AppSync to add a new hotel to SimpleTravel’s records. Then, you’ll implement a GraphQL subscription to automatically notify consumers who are interested in these events. This approach will modernize the API for the travel company, supporting the scaling of its business.

Project 4 Restrict API Access with Amazon Cognito

In this liveProject, you’ll use Amazon Cognito to restrict access to a GraphQL API. Previously, SimpleTravel’s APIs were publicly accessible. But you’ve seen a surge of new customers, and now your boss wants to ensure that access is limited to authorized users. Your challenges include creating an Amazon Cognito user pool and implementing group-based authorization in AWS AppSync.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Develop a Powerful GraphQL API in AWS project for free

project author

Mariano Calandra
Mariano Calandra works as a cloud architect at Claranet Italia where he helps international customers succeed using AWS and cloud-native architectures. He’s an AWS Authorized Instructor, an AWS Community Builder, and a co-organizer of ServerlessDays Rome and the AWS User Group in Rome.

Prerequisites

This liveProject is for software developers who have set up their own AWS accounts and know the AWS console. To begin this liveProject you will need to be familiar with the following:


TOOLS
  • Basic AWS Lambda
  • Basic AWS Console
  • Basic Javascript
  • Basic NodeJS
  • Basic DynamoDB
  • Basic GraphQL

you will learn

In this liveProject, you’ll learn to build a complete GraphQL API including security features such as authorization.


  • DynamoDB and its main features
  • Query a DynamoDB table using a Lambda function
  • Implement a GraphQL API using AWS AppSync
  • Implement a query in GraphQL
  • Implement a GraphQL mutation
  • Implement a real-time notification mechanism
  • Manage a user directory with Amazon Cognito User Pool
  • Leverage Amazon Cognito to restrict API calls to authenticated users only
  • Implement group-based authorization

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.