Skip to content
This repository has been archived by the owner on Apr 16, 2020. It is now read-only.

nationalarchives/prototype-front-end

Repository files navigation

Transfer Digital Records Front End

This repository has been retired. It was a prototype that was built during the Transfer Digital Records Alpha phase.

Purpose

To allow users to upload files to an S3 bucket and to generate associated metadata.

This is an overview of the project as a whole. The other components are

Containers project GraphQL Server project Other scripts

Architecture

TDR Architecture Diagram

Main flow

  1. The user logs in using AWS cognito and creates a collection using a form. This is defined in the CreateComponent.tsx file
  2. This sends a mutation to the GraphQL server running as a lambda function which creates an entry in a table on the RDS database.
  3. The user then chooses which files to upload (Upload.tsx)
  4. This runs another mutation to store the files and some metadata in the RDS database. A temporary token is retrieved from the cognito user and used to upload the files to the S3 bucket.
  5. There is an event notification on the S3 bucket which will trigger a step function.
  6. This step function runs three ECS tasks in parallel, one for the virus checker, one for the file format check and one for the checksum check. The containers are defined in this repository
  7. Once the tasks are run, the outputs are sent to separate SNS topics
  8. There is a lambda which subscribes to these topics, picks up the output and sends the results to the graphql server, which updates the database. The lambda is defined here
  9. The front end can then poll the rds datbase via the GraphQL lambda to display the results of the checks carried out by the ECS containers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages