Giter Site home page Giter Site logo

asikcyberdev / cdk-amplify-project-quickaid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mavi888/cdk-amplify-project-demo

0.0 0.0 0.0 1.34 MB

A cloud native serverless backend using AWS CDK and a hosted web app using AWS Amplify

License: MIT License

JavaScript 52.36% TypeScript 24.36% CSS 7.57% HTML 15.71%

cdk-amplify-project-quickaid's Introduction

QuickAid - Full-stack Application with AWS CDK

Infrastructure as code framework used: AWS CDK, AWS Amplify AWS Services used: AWS Amplify, AWS Cognito, AWS AppSync, AWS Lambda, AWS DynamoDB

Introduction to QuickAid

QuickAid is a full-stack application designed to provide quick and efficient aid to users in need. The application combines the power of AWS CDK and AWS Amplify to build a React-based web app with a serverless backend.

QuickAid demonstrates how multiple teams can work together using different frameworks to deploy a web app to the cloud following best practices. This documentation showcases the integration of AWS CDK and AWS Amplify to create a seamless development and deployment experience.

In this documentation, you will find information on:

  • How to create an AWS Amplify application using AWS CDK
  • How to add authentication with Cognito using AWS CDK to the Amplify web app
  • How to add a GraphQL endpoint to AWS Amplify and create it using AWS CDK
  • How to deploy and host the web app in the cloud

This project is part of QuickAid's design and architecture, aimed at providing a reliable and scalable solution for delivering aid to users.

Application Architecture

QuickAid consists of two main components: a client application and a backend application. These components are designed to exist in separate GitHub projects to facilitate collaboration among different teams.

The client application is a React web app that utilizes Amplify libraries to connect to the backend. It will be hosted using the Amplify console for easy deployment and management.

The backend application follows a serverless architecture, consisting of an Amplify app, a Cognito user pool and identity pool, and an AppSync endpoint with two data sources. The AppSync endpoint is generated using the third-party constructor CDK AppSync Transformer to simplify the setup process.

QuickAid Architecture

Deploying QuickAid

To deploy QuickAid, we will be using AWS CDK. Make sure you have CDK installed according to the instructions. Please note that this project is currently using CDK version 1, and a migrated version will be available soon.

Before deploying, you need to set up the client project in a GitHub repository. Generate a GitHub developer token and store it in the Secret Store (refer to the video tutorial for detailed steps).

Next, copy the config.example.json file and create a config.json file. In the config.json file, provide the correct name of the web app repository, the owner, and the branch.

To deploy the backend to the cloud, follow these steps:

$ cd backend
$ npm install ## you only need to do this the first time
$ npm run build
$ cdk deploy

After deploying, all the necessary resources will be created, and you can access the Amplify console. You will see that the web app is provisioning.

Web App Provisioning

Once the deployment of the web app is complete, you can obtain the URL and open it in a browser.

Get the URL

Deleting the Application

To delete the entire application, including the Amplify application and all the backend resources created, run the following command:

$ cdk destroy

Resources and Tutorials

For a step-by-step guide on building QuickAid, you can refer to the following video tutorials:

For more in-depth information and additional resources on this topic, check out the blog post: https://blog.marcia.dev/amplify-cdk

cdk-amplify-project-quickaid's People

Contributors

asikcyberdev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.