AppSync

How to model one-to-many relationships with AppSync and DynamoDB

Thank you to Josh for asking this question on the AppSync Masterclass forum. His original question goes like this: Let’s say I want to add a one-to-many relationship from Profile to a new property called “Tag” (a complex object with “name” and “color” properties) so a user can define their own Tags. I would also like a …

How to model one-to-many relationships with AppSync and DynamoDB Read More »

How to secure multi-tenant applications with AppSync and Cognito

One of the most common questions I get is “How do I build a multi-tenant application with AppSync and Cognito?”. If you google this topic on the internet you will no doubt come across many different opinions. It’s a topic that we’ll soon explore in the AppSync Masterclass but I want to take this opportunity …

How to secure multi-tenant applications with AppSync and Cognito Read More »

How I built a social network in 4 weeks with GraphQL and serverless

I have been involved with a client project to help the client launch a new social network for university students to engage with each other to do sports. Amongst other things, users can: Arrange activities and ask to join others’ activities (like a basketball match or to run in the park). There’s private messaging. Users …

How I built a social network in 4 weeks with GraphQL and serverless Read More »

AppSync Masterclass is open for early access!

I have some exciting news to share with you. That after some initial delays, the AppSync Masterclass is now open for Early Access with 40% launch discount. First of all, thank you so much for your patience, it’s taken us a bit longer than we expected but we’re here, at last. You can purchase the …

AppSync Masterclass is open for early access! Read More »

How to set up custom domain names for AppSync

I previously wrote about five reasons you should consider AppSync over API Gateway. One thing that API Gateway supports but you can’t do with AppSync out-of-the-box yet is custom domain names. Your shiny new AppSync API is available at XYZ.appsync-api.us-east-1.amazonaws.com/graphql, but you really want people to use your own domain instead because dev.example.com/graphql is much …

How to set up custom domain names for AppSync Read More »

How to model hierarchical access with AppSync

I have been working with a US client to build a first-of-its-kind app for managing medical consents. It falls under HIPAA compliance and it’s paramount that we do not allow unauthorized access to user data. As part of the app, we have built an admin tool that will be used by admin staff from the …

How to model hierarchical access with AppSync Read More »

How I scaled an AppSync project to 200+ resolvers

I have been working on a large AppSync project for a client these past few months. The initial version of the app was built in just a few weeks, but the client has commissioned additional features and the project has kept growing. At the time of writing, this project has over 200 AppSync resolvers and …

How I scaled an AppSync project to 200+ resolvers Read More »

AppSync: how to inject table names into DynamoDB batch & transact operations

When working with CloudFormation, AWS recommends not to give explicit names to resources and let CloudFormation name them for you. This has several advantages: It’s harder for attackers to guess resource names such as S3 buckets or DynamoDB tables. You can deploy the same stack multiple times to the same account. This is useful when …

AppSync: how to inject table names into DynamoDB batch & transact operations Read More »

AppSync: how to compare strings lexicographically in VTL

I had been working on a client project where I built the GraphQL backend for a new social network using primarily AppSync, Lambda and DynamoDB. One of the features of the app was to support private messaging between two users. To allow either user to fetch their chat messages in chronological descending order, I modelled …

AppSync: how to compare strings lexicographically in VTL Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close