Giter VIP home page Giter VIP logo

aws-cdk-demo-project's Introduction

Maintainability

Coding Challenge - AWS Deployment with CDK

Welcome to the Coding Challenge! This project demonstrates the deployment of a full-stack application on AWS using AWS Cloud Development Kit (CDK) and CloudFormation. The stack includes the following AWS resources:

  • AWS Lambda Function
  • Amazon S3 Bucket
  • Amazon API Gateway
  • Amazon DynamoDB Table

Prerequisites

Before you begin, ensure you have the following installed:

Set AWS Account and Region

Configure your AWS account and region by setting the necessary environment variables.

On Windows (CMD)

set CDK_DEFAULT_ACCOUNT=your-account-id
set CDK_DEFAULT_REGION=your-region
set AWS_REGION=your-region
set AWS_DEFAULT_REGION=your-region
set AWS_ACCESS_KEY_ID=your-access-key-id
set AWS_SECRET_ACCESS_KEY=your-access-key-secret

On macOS/Linux

export CDK_DEFAULT_ACCOUNT=your-account-id
export CDK_DEFAULT_REGION=your-region
export AWS_REGION=your-region
export AWS_DEFAULT_REGION=your-region
export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-access-key-secret

Steps to Run

  1. Install AWS CLI

    Install the AWS CLI by following the instructions here.

  2. Configure AWS CLI

    Run the following command and follow the prompts to configure your AWS CLI with your credentials:

    aws configure
  3. Install AWS CDK

    Install the AWS CDK globally using npm:

    npm install -g aws-cdk
  4. Clone the Repository

    Clone this repository to your local machine and navigate into the project directory:

    git clone https://github.com/Devansh-ops/aws-cdk-demo-project.git
    cd aws-cdk-demo-project
  5. Set Environment Variables

    Export or set the environment variables as shown in the previous section.

  6. Deploy the Stack

    Deploy the stack to AWS. This command will also install npm packages and create the necessary configuration:

    npm run deploy
  7. Run the Frontend

    Navigate to the frontend directory and start the development server:

    cd file-upload
    npm start
  8. Access the Application

    Open your web browser and navigate to http://localhost:3000 to access the application.

Project Structure

The project is organized as follows:

  • infrastructure: Contains the CDK stack definitions and resource configurations.
  • lambda: Contains the source code for the Lambda function.
  • file-upload: The React frontend application.

Key Features

  • AWS Lambda: Handles backend logic and interacts with DynamoDB.
  • Amazon S3: Stores uploaded files securely.
  • Amazon API Gateway: Provides a RESTful API to interact with the Lambda function.
  • Amazon DynamoDB: Stores metadata and application data.

Contact

For any questions or issues, please open an issue on this repository or contact the maintainer.


This project showcases the deployment of a serverless application on AWS using modern development tools and practices. Happy coding!

aws-cdk-demo-project's People

Contributors

devansh-ops avatar tanmayagrawal21 avatar

Stargazers

Aditya  avatar

Watchers

 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.