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)
  • CircleCI - Provides continuous integration, creates previews and runs tests

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