Technical Overview - DOI-ONRR/nrrd GitHub Wiki

Description

This document provides a high level overview of the various technologies we use to implement our solution for the revenue data site.

Architecture

We use JAMstack as our architectural design framework. This provide us the ability to use a very modular approach to achieving some of our design goals such as:

  • Easily update content
  • Security
  • Performance

Development Environment

  • Gatsbyjs - Static site generator and our development environment setup
  • Docker - We have dockerized our development environment to easily get started on any platform (except for government issued laptops)
  • GitHub Actions - CI/CD (Continuous Integration and Continuous Deployment) tool built into GitHub. It allows us to automate tasks, such as building, testing, and deploying your website, directly from our repository

Frontend Overview

API/Backend Overview

Testing Overview

  • Previews - User Acceptance testing, each code branch has a preview site generated
  • ESLint - Code syntax and formatting
  • Jest - Javascript Testing Framework
  • react-testing-library - Integration, Unit testing
  • puppeteer - End to End testing
  • lighthouse - Performance and Accessibility testing