Giter Club home page Giter Club logo

noteless's Introduction

noteless

The noteless serverless demo is available online through this page and allows you to analyze pictures for certain command words ("go", "stop", "on", "off", "left", "right", "up", "down", "to"). First, you'd capture a picture that contains some text and then you can view the results of the analysis.

Capture

You capture pictures containing text, ideally using your phone's camera:

screenshot capture

Once you have captured a few text fragments, you move on to the analysis stage.

Analyze

You analyze by applying predefined OPA Rego rules and if noteless recognizes a command like up or go it will list it:

screenshot analytics

Background

Architecture

This is a serverless end-to-end demo with an architecture as follows:

noteless architecture

noteless uses the following serverless AWS services:

  1. Amazon Rekognition for detecting text in images
  2. AWS Lambda for the capture/frontend processing
  3. Amazon EKS on AWS Fargate for the event-driven analytics part with an Open Policy Agent Rego-based set of rules.
  4. Amazon S3 for storing the captured images and Amazon DynamoDB to persist the detected text in JSON format.

Deploy yourself

If you want to try it out yourself, deploying the demo in your own environment, the source code is available via mhausenblas/noteless. Kudos go out to Mike Rudolph for mikerudolph/aws_rekognition_demo which served as a starting point for this demo.

First, create an S3 Bucket for the Lambda code and provide it as an input for the Makefile as NOTELESS_BUCKET when you run make up. This sets up the Lambda functions, the DynamoDB table, and the S3 data bucket.

For the container part: run first create-eks-fargate-cluster.sh to set up the EKS on Fargate cluster and then create-alb.sh for the ALB Ingress controller. Finally, execute launch-backend.sh to launch the Kubernetes deployment and service. TBD: patching frontends โ€ฆ

noteless's People

Contributors

mhausenblas avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  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.