Code Monkey home page Code Monkey logo

phone-home's Introduction

phone-home

This serverless application provides a phone home endpoint for recording contacts from another deployed application.

It provides a demo integration of API Gateway + AWS Lambda + Node.js + Amazon DynamoDB

Deploy with CloudFormation

Prerequisites: Node.js and AWS CLI installed

  • Create an AWS Account and IAM User with the AdministratorAccess AWS Managed Policy
  • Run aws configure to put store that user's credentials in ~/.aws/credentials
  • Create an S3 bucket for storing the Lambda code and store its name in a shell variable with:
    • export CODE_BUCKET=<bucket name>
  • Npm install:
    • npm install
  • Build:
    • npm run build
  • Upload package to S3, transform the CloudFormation template:
    • npm run package
  • Deploy to CloudFormation:
    • npm run deploy

Deploy from the AWS Serverless Application Repository

Usage

Find Invocation URL

Command line

Post data:

curl -d '{"username":"you", "host":"localhost"}' https://xxxxxxxxx.execute-api.region.amazonaws.com/Prod/

Get data:

curl https://xxxxxxxxx.execute-api.region.amazonaws.com/

JavaScript

Post data for logged in user (Take care to comply with any applicable Do Not Track legislation):

// Phone home if we're not on localhost
function phoneHome(username) {
  if (!window.location.host.includes('localhost')) {
    fetch('https://xxxxxxxxx.execute-api.region.amazonaws.com/',
      {
        method: 'POST',
        body: JSON.stringify({
          username: username,
          host: window.location.host
        })
      });
  }
}

Links

License

© 2017-2019 Evan Chiu. This project is available under the terms of the MIT license.

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.