https://github.com/sharjeelsafdar/project15a-dining-by-friends-with-neptune
Dining by Friends GraphQL API for people to sign up, become friends with other users and get personalized recommendations for restaurants.
https://github.com/sharjeelsafdar/project15a-dining-by-friends-with-neptune
appsync aws aws-cdk aws-lambda cognito-user-pool event-driven eventbridge graphql neptune-db typescript vpc
Last synced: 26 days ago
JSON representation
Dining by Friends GraphQL API for people to sign up, become friends with other users and get personalized recommendations for restaurants.
- Host: GitHub
- URL: https://github.com/sharjeelsafdar/project15a-dining-by-friends-with-neptune
- Owner: SharjeelSafdar
- Created: 2021-07-19T19:43:19.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-12T21:43:42.000Z (over 3 years ago)
- Last Synced: 2025-02-09T07:43:08.068Z (3 months ago)
- Topics: appsync, aws, aws-cdk, aws-lambda, cognito-user-pool, event-driven, eventbridge, graphql, neptune-db, typescript, vpc
- Language: TypeScript
- Homepage:
- Size: 301 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Project 15A: Dining By Friends GraphQL API with Event-Driven ArchitectureThis AWS CDK App deploys the backend infrastructure for the Dining by Friends GraphQL API to AWS CloudFormation. It consists of the following constructs:
- A [Cognito](https://aws.amazon.com/cognito/) [User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) for authenticating users
- An [Amazon VPC](https://aws.amazon.com/vpc/) with 2 Private Subnets and a Security Group to create the database in
- An [Amazon Neptune](https://aws.amazon.com/neptune/) graph database to store the data for the api
- A [Lambda](https://aws.amazon.com/lambda/) function to add a new user's data to the database when he/she confirms his/her email after signing up
- An [AppSync](https://aws.amazon.com/appsync/) GraphQL API to get data from or update the data in the database
- A Lambda function connected to a Lambda Data Source of AppSync to synchronously read data from Neptune DB
- An HTTP Data Source of AppSync to put the mutation data on the default [EventBridge](https://aws.amazon.com/eventbridge/) bus
- A Lambda function to perform the mutation on the Neptune DB asynchronously
- An EventBridge rule to envoke the lambda function to perform the mutation
![]()