Skip to main content

    About the platform

    In this documentation we will discuss our platform and how it is setup, This Platform section will detail specifics on how things work, site structure, architecture, tools, technologies, and any relavent information regarding the platform.

    The platform is made up of 4 major components.

    • MetalSmith
    • React/Redux
    • Drupal CMS
    • TeamSite

    MetalSmith

    MetalSmith is a static site generator made from Node.js. It is based off a plugin architecture which makes it very flexible when needing to customize the build process or integrating other systems into it.

    React/Redux

    React is a front-end single page application library that helps you create painless interactive UIs. We use React in our platform to create web components and also individual applications within the website. The React applications are injected into specific pages. All applications can be found in src/applications. We use Redux to manage our data and the state of that data.

    Drupal CMS

    Drupal content is retrieved via GraphQL and pushed into the Metalsmith pipeline with a custom plugin, where it is then transformed into static html pages using Liquid templates.

    TeamSite

    TeamSite is a content management system built with PERL. This is the original system VA.gov was built on. Vets.gov and VA.gov were merged and needed to be integrated to use both systems without feeling like different systems. Some webpages still live under TeamSite and will eventually get ported over into the new Platform. Some components are shared such as the the MegaMenu and the Footer. These components are injected using a script to render on TeamSite pages.