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
- 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
- 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
- Directus - Provides Out of the box and custom API endpoints
- PostgresSql - Database
- Cloud.gov - Hosting solution
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