Skip to content

cobalt12345/traffic-guard-portal

Repository files navigation

Whole application description

Current application analyzes video either from Java producer application or from web application client. It recognizes Russian car license plate numbers and stores them to the Dynamo DB.

It also provides a simple portal to get recognition results.

Application requires signing up via setting up a new account or via your Google account.

Application Architecture

Traffic Guard Design

See how it works

Some AWS components are stopped to avoid additional expenses. Write me an e-mail, if you want to get the full demonstration.

Application component repositories

  1. Web portal application (Amplify/ReactJS) - https://github.com/cobalt12345/traffic-guard-portal
  2. Streaming web application (Amplify/ReactJS) - https://github.com/cobalt12345/traffic-guard-stream-producer-js
  3. Standalone streaming application (Java/Spring) - https://github.com/cobalt12345/traffic-guard-stream-producer
  4. Lambda function (Java) which handles JPEG images received via API Gateway from streaming application. It converts them to the MKV format and sends to the Kinesis Vide Stream (KVS) - https://github.com/cobalt12345/traffic-guard-webcam-snaps-to-kvs
  5. Component (Java/Spring/ECS) which consumes each N-th frame from KVS and stores it to S3 bucket. Deployed as a task to ECS - https://github.com/cobalt12345/traffic-guard-stream-consumer
  6. Lambda function (Java) is triggered when new object appears in S3 bucket. It tries to recognize a plate number and store it to the Dynamo DB - https://github.com/cobalt12345/traffic-guard-car-license-plates-recognizer