cfpb / curriculum-review-tool

An interactive tool that allows a teacher to assess the merits of a financial education curriculum.
https://www.consumerfinance.gov/practitioner-resources/youth-financial-education/curriculum-review/
Creative Commons Zero v1.0 Universal
10 stars 14 forks source link

Curriculum Review Tool

The Curriculum Review Tool is an interactive tool that allows a teacher to assess the merits of a financial education curriculum. It is an alternative to the existing paper-based tool. The assessment is made across four dimensions: content, quality, utility, and efficacy. After responding to questions in each of those dimensions, users can print or save a PDF of the assessment results.

Screenshot of the tool's navigation bar showing the four dimensions

The content dimension has three different views based on the grade range (elementary, middle, or high school) selected when beginning a review. The other dimensions are the same for each grade range.

Technology stack

Installation for development

The CR Tool will only work fully in the context of consumerfinance.gov.

  1. Clone this repository and install it locally into your consumerfinance.gov environment, following the consumerfinance.gov docs for working on satellite apps.
  2. In this repository's root, run ./setup.sh to install front-end dependencies and do an initial build.
  3. Start your development server
  4. Go to http://localhost:8000/consumer-tools/educator-tools/youth-financial-education/curriculum-review/before-you-begin/

If this page doesn't come up, you may need to set the TDP_CRTOOL flag to True in the Flags section of your local Wagtail admin.

Running the tests

Run npm test to have Jest run the JavaScript unit test suite, which is found in the src/__tests__ folder.

To reconstruct snapshot data for the tests, run npm test -- -u. This will be needed if the content ever changes and the snapshot test fails for that reason. You will also need this while writing new tests for any new pages.

Development notes

Templates

The application ultimately serves two Jinja templates at particular URLs:

  1. crt-start.html

    This template is served by the before-you-begin URL. It contains a small form for setting options for a review in localStorage before starting it.

  2. crt-survey.html

    This template serves the React application for the review interface itself at the tool URL. It is nothing more than an empty <div id="react"> that serves at the hook for the React app initialization. This templates extends the crt-base.html template, which extends the layout-full template from consumerfinance.gov, overrides a few things to enforce focusing on the tool, adds in the tool-specific CSS and JS.

JavaScript

Content overview

"Content" refers to any text that is unique to a given dimension that shows up after you click a dimension button.

How to edit content

The easiest way to change content is to search in your editor or filesystem for the text you want to change, change it in all locations it shows up, and submit a PR.

The functionality of this tool is not affected by the content changing.

Both Criterion & Print pages have content in TWO different locations: the content_data folder and in their respective locations below.

Getting help

If you have questions, concerns, bug reports, etc., please file an issue in this repository's issue tracker.


Open source licensing info

  1. TERMS
  2. LICENSE
  3. CFPB Source Code Policy