Skip to content

ResearchHub monorepo deployed to AWS. Angular front-end. Contentful/ElasticSearch Lambda function. Apollo GraphQL server. Terraform.

Notifications You must be signed in to change notification settings

UoA-eResearch/hub-stack

Repository files navigation

ResearchHub Stack (monorepo)

Contains the complete Research Hub, stack being developed for migration to AWS and Contentful.

Stack Components

This repository contains the 4 projects comprising the AWS version of the ResearchHub stack.

The front end for the Research Hub, built with Angular and Angular Material.

An Apollo GraphQL server used to proxy and authorise requests sent from research-hub-web to Contentful the external data sources.

A Serverless Framework (AWS Lambda) function that interacts with ResearchHub's ElasticSearch instance.

Terraform infrastructure as code to create the Research Hub AWS infrastructure.

A Contentful App Framework app that checks to prevent cyclical content references in SubHubs.

Deployment

CI/CD is achieved via the monorepo's Jenkinsfile which is triggered when code is pushed to one of 4 Git branches (sandbox, dev, test, prod) corresponding to environments across the three UoA AWS accounts (sandbox, nonprod, prod).

Pushing to any branch prefixed with sandbox-, e.g. sandbox-sam will also trigger a deploy to sandbox. Pushing to any branch prefixed with dev-, e.g. dev-sam will also trigger a deploy to dev. However, test and prod deploys will ONLY be triggered by a push to the test or prod branch respectively.

NOTE: The sandbox account is only for temporary usage. All resources created in sandbox should be destroyed when no longer needed.

Architecture Overview

Architecture Overview

Development and Release Process

Development and Release

UoA Wiki

ResearchHub Wiki Page

About

ResearchHub monorepo deployed to AWS. Angular front-end. Contentful/ElasticSearch Lambda function. Apollo GraphQL server. Terraform.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published