Simpler Grants.gov

repository·main·Indexed 41 days ago

https://github.com/hhs/simpler-grants-gov

A modernization project for the US federal Grants.gov system. Includes the simpler-grants-gov-analytics Python package (v0.1.0) for ETL data pipelines from GitHub to Postgres and Metabase, tools for Metabase backup and restoration, and mock SOAP API services for Applicants and Grantors.

Tokens
246.5K
Snippets
526
Records
1.1K
Agent score
53%

What's inside Simpler Grants

  1. Overview of Simpler.Grants.gov

    main
    Simpler.Grants.gov is a modernization effort for Grants.gov, aimed at making federal financial assistance more accessible and easy to use. The project focuses on improving how applicants search for, discover, and apply for funding opportunities, as well as assisting federal grantmaking agencies in reaching their communities.
  2. Overview of Simpler Grants Analytics

    main

    The simpler-grants-gov-analytics package is a data pipeline service that extracts project data from GitHub and transforms it into rows for a Postgres data warehouse. It facilitates the ETL (Extract, Transform, Load) process in the following flow:

    SGG Project Data → GitHub → ETL → Postgres DW → Metabase → End User

    Data visualization and Business Intelligence are provided via Metabase. The service is not a daemon or a web server; it is a task-based service triggered manually via CLI, Make commands, or orchestrated via AWS Step Functions.

  3. Overview of the frontend application stack

    main

    The frontend is a Next.js React web application written in TypeScript. It utilizes the following technologies for styling and component management:

    • U.S. Web Design System (USWDS): Provides themeable styling and common components.
    • React-USWDS: Provides React components with USWDS theming integrated. For usage examples, refer to react-uswds-hello.tsx in the codebase.
    • Storybook: Used as a frontend workshop for component development and documentation.
  4. Overview of Notice of Funding Opportunity (NOFO) Prototypes

    main
    The notice_of_funding_opportunity_prototypes directory contains prototypes of Notice of Funding Opportunities (NOFOs). These prototypes implement simplified language and user-centered design enhancements aimed at increasing readability and usability. The core design principle is that funding opportunities should be easy to read and understand.
  5. Overview of the GET Opportunities API endpoint

    main

    The GET Opportunities deliverable involves deploying a public API endpoint to production that shares information about every grant opportunity listed on grants.gov.

    Purpose

    • Data Access: Allows users to access at least one field per grant opportunity from the live grants.gov dataset.
    • Validation: Proves the successful connection between grants.gov and simpler.grants.gov environments and validates security approvals for sharing production data.
    • Iterative Development: Enables building features on top of real-world data rather than mock data, reducing migration risks.

    Key Characteristics

    • Data Consistency: Aims for consistency between legacy grants.gov and simpler.grants.gov.
    • Availability: The endpoint is designed to remain available even during legacy grants.gov downtime or maintenance.
    • Propagation: Updates from legacy grants.gov are expected to propagate to the new endpoint within 1 hour.
  6. Overview of the Simpler Grants Project

    main
    The Simpler Grants Project aims to modernize Grants.gov to make it an extremely simple, accessible, and easy-to-use tool for posting, finding, sharing, and applying for federal financial assistance. The project's mission is to increase access to grants and improve the overall grants experience for all users.
  7. Compare video conferencing options for Simpler Grants

    main

    The project evaluated several video conferencing platforms based on features, pricing, and alignment with organizational values. The options considered include:

    • Zoom: Feature-rich (breakout rooms, webinars, screen sharing) with a user-friendly interface. Pricing starts at $149.90/year/user. Requires 15-30 paid users; others can join via invite link.
    • Microsoft Teams: Best for Microsoft 365 ecosystems. Offers deep integration with Office apps and strong security. Pricing starts at $4/user/month; Webinar hosting requires Business Standard ($12.50/user/month).
    • Google Meet: Part of Google Workspace. High-quality audio/video and browser-based access (no software install). Live transcription is available but limited to English only. Pricing starts at $6/user/month.
    • Jitsi: An open-source, free, and lightweight solution. Supports self-hosting for greater privacy and end-to-end encryption. Does not have built-in webinars or breakout rooms (requires third-party integrations).
    • Meet.coop: An ethical, sustainable, and community-driven European solution. Aligns with Simpler Grants' values regarding data ownership and cooperative principles. Pricing starts at $12/month for 10 participants.
  8. Use the Terraform S3 backend module

    main

    The terraform-backend-s3 module automates the creation of the infrastructure required to host a remote Terraform S3 backend. This is used to securely store Terraform state files and manage state locking to prevent concurrent modifications.

    When you use this module, it provisions:

    • An S3 bucket for storing Terraform state files.
    • An S3 bucket dedicated to storing S3 access logs for auditing.
    • A DynamoDB table to handle Terraform state locking.
  9. Compare Wiki Platform options

    main

    This document provides a comparison of various wiki and documentation platforms considered for the project, evaluating them based on hosting, pricing, public access, content review, version history, media support, internationalization (I18n), web analytics, and data access.

    Key platforms evaluated include:

    • Confluence: SaaS, user-friendly, supports drafts and page history, but lacks a formal review process and has limited I18n.
    • Notion: SaaS, supports structured data and has a robust API, but has limited version history (30-90 days) and no formal content review.
    • GitHub Wiki: Free for public repositories, easy to export/clone, but difficult for non-technical users and has very limited media support.
    • GitBook: SaaS, prioritizes version control and content review via GitHub PRs, supports native I18n and Google Analytics, and can sync data to GitHub.
    • Wiki.js: Open Source and self-hosted, offers total data control and is covered under the existing Grants.gov ATO, but requires significant maintenance and has a steeper learning curve.
  10. Understand the purpose of the Simpler.Grants.Gov Storybook

    main

    The Simpler.Grants.Gov Storybook is a documentation tool used to showcase and test Next.js components in isolation. It serves several roles:

    • Engineers: Use it to develop and test components without running the full application environment.
    • Designers & Product Managers: Use it to preview, manually test, and demo component versions before production release.
    • General Stakeholders: Use it to quickly view specific application states (like complex multi-step forms) without navigating the full application flow.

    Note that this Storybook is not an exhaustive library of all components. It focuses on custom components and page layouts specific to Simpler.Grants.Gov. For standard patterns, refer to the official USWDS documentation or the ReactUSWDS Component Library.