Technical overview - DOI-ONRR/onrr.gov-site GitHub Wiki

Description

This document provides a high level overview of the various technologies we use to implement our solution for the Office of Natural Resources and Revenue.

Architecture

We use Directus, VueJs, PostgreSQL, and Cloud.gov 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 via CMS
  • Security
  • Performance

Development environment

  • VueJs - Static site generator and our development environment setup
  • PostgreSQL - Provides the backend database that the CMS connects to
  • CircleCI - Provides continuous integration, run tests, builds frontend application, deploys to cloud.gov
  • Directus - Open source headless CMS

Frontend overview

  • VueJs - Frontend of application
  • VuetifyJs - UI Library with beautifully handcrafted Material Components
  • Apollo Client - Connect to our backend graphql server
  • Sass - CSS with super powers
  • EditorJs - Open source customizable block style editor

API/Backend overview

Testing overview

  • Previews - User Acceptance testing, each code branch has a preview site generated
  • ESLint - Code syntax and formatting
  • Vue Testing Library Vue testing library
  • puppeteer - End to End testing
  • lighthouse - Performance and Accessibility testing

Frontend dev apps

  • VS Code - Open source code editor
  • Node.js - open-source, cross-platform JavaScript runtime environment
  • NPM - node package manager
  • Yarn - Uber hip package manager
  • NVM - Node version manager
  • Git - Open source version control
  • Docker - Platform designed to help developers build, share, and run modern applications
  • Spotify - All the music you'll ever need