Giter Club home page Giter Club logo

myecm's Introduction

Serverless ECM POV

(C) JP.Cordeiro for CATS

Gitpod Ready-to-Code

This repo contains AWS SAM templates that deploy a Proof Of Value for a serverless ECM application. This application uses Amazon ML services like Comprehend and Rekognition to index documents and images, and then sends the results to the Amazon DynamoDB Service for indexing.

This application uses an event-based architecture, with Amazon EventBridge as the serverless event bus.

.
├── README.MD                   <-- This instructions file
├── template.yaml               <-- SAM template for Application
├── analyzers                   <-- Source code for Lambda functions
│   └── analyzeText             <-- Text analyzer
│   └── analyzeImage            <-- Image analyzer
│   └── package.json            <-- NodeJS dependencies and scripts
├── converters                  <-- Source code for Lambda functions
│   └── processDOCX             <-- Converts DOCX file into text
│   └── processPDF              <-- Converts PDF files into text
│   └── package.json            <-- NodeJS dependencies and scripts
├── loaders                     <-- Source code for Lambda functions
│   └── loadToDB                <-- Load indexing info into DB and target bucket
│   └── package.json            <-- NodeJS dependencies and scripts
├── parser                      <-- Source code for a lambda function
│   └── parserFunction          <-- Parses input bucket 
│   └── package.json            <-- NodeJS dependencies and scripts

Requirements

Installation Instructions

  1. Clone the repo onto your local development machine using git clone.

  2. Then run:

sam build -u
sam deploy --guided --capabilities CAPABILITY_NAMED_IAM

Follow the prompts in the deploy process to set the stack name, AWS Region, unique bucket names, DynamoDB domain endpoint, and other parameters.

Once completed, run

aws s3 sync ACQsite/. s3://myecm-s3-acq

pushd viewsite
myURL=$(aws ssm get-parameter --name ScanAPIUrl  | jq -r '.Parameter.Value')
sed -i "/.get(/c\    .get('${myURL}')" src/FeaturedDocuments.js
npm install
npm run build
popd

aws s3 sync viewsite/build/. s3://myecm-s3-view

to install acquisition and viewer website.

The Acquisition URL will be : https://myecm-s3-acq.s3-eu-west-1.amazonaws.com/index.html

The Acquisition URL will be : https://myecm-s3-view.s3-eu-west-1.amazonaws.com/index.html

You can also use provision and decommission scripts to fully automate the processus.

How it works

  • Upload PDF, DOCX or JPG, PNG files to the TP or BATCH buckets.
  • After a few seconds you will see the index in DynamoDB has been updated with labels and entities for the object and the files moved to the ECS bucket.

==============================================

This application features are extracted from Serverless Document Repository repo provided by Amazon.

SPDX-License-Identifier: MIT-0

myecm's People

Contributors

amazon-auto avatar dependabot[bot] avatar jbesw avatar jeanpcordeiro avatar julianbonilla avatar teknogeek0 avatar weisisheng avatar

Stargazers

 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.