Skip to content

Project Architecture Overview

hadcomfort edited this page Jun 12, 2025 · 1 revision

Project Architecture Overview

This document provides a high-level overview of the file and directory structure of the Veterans Information Resource project.

Core Technology

The site is built as a static site using Jekyll and is hosted on GitHub Pages. This means the site is fast, secure, and easy to maintain.

Directory Structure

  • / (root):

    • index.md, faq.md, glossary.md, etc.: These are the primary content pages of the site.
    • _config.yml: The main Jekyll configuration file. It sets site-wide variables, like the theme, title, and plugins.
    • hrdocs.txt: A text copy of the OPM Vet Guide. This is our primary source document for all preference logic and content.
    • generate_diagram.py: A Python script used to automatically generate the visual logic map of the Advisor.
    • Gemfile / Gemfile.lock: Ruby dependency management files for Bundler.
  • /advisor/:

    • This directory is the heart of the interactive Preference Advisor.
    • Each .md file represents a single step, question, or outcome in the Advisor's decision tree.
    • start.md is the entry point to the tool.
    • advisor_diagram.md contains the auto-generated Mermaid diagram that visualizes the flow between all pages in this directory.
  • /_layouts/:

    • Contains the HTML templates (e.g., default.html) that wrap the Markdown content, providing a consistent look and feel across the site.
  • /_sass/:

    • Contains the SASS (.scss) files that define the site's visual styles. These are compiled into a single CSS file by Jekyll.
  • /assets/:

    • A directory for static assets like CSS, images, and fonts.
  • /.github/:

    • This directory holds configuration for GitHub-specific features.
    • ISSUE_TEMPLATE/: Contains the templates for bug reports, feature requests, etc.
    • workflows/: Contains the YAML files that define our GitHub Actions for automated testing and deployment.

Clone this wiki locally