Head Start TTA Data Platform PA + E&I + Assisted Acquisition
The Head Start TTA Smart Hub code base can be found at https://github.com/hhs/head-start-ttadp
This repo contains documentation describing the Head Start - Training and Technical Assistance (TTA) Data Platform Path Analysis (PA), Experiment & Iterate (E&I), and Assisted Acquisition (AA) project from 18F. It is intended to be a public place where project participants can keep track of the overall project goals, progress to date, and learnings as we work. This is also intended to be a project 'home page' where members can access important and up-to-date project information that exists somewhere else.
It also contains the prototype application developed as part of the E&I phase of the project.
The Head Start program promotes school readiness for children under 5 years old from low-income families. HHS's Administration for Children and Families (ACF)βs Office of Head Start (OHS) oversees grant funding to local agencies providing Head Start services. OHSβs federal oversight responsibilities require significant grants management and a robust system of Training and Technical Assistance (TTA), designed to strengthen grantee performance in accordance with federal standards so every enrolled child is prepared for success in school. However, TTA data collection is fragmented, and data is housed in 27 disconnected platforms, including a limited and unscalable legacy system.
OHS is engaging 18F to help OHS procure a centralized system for relevant TTA data, to track and analyze their work through a combined Path Analysis and Experimentation and Iteration approach, with the potential to also execute an assisted acquisition. OHS is engaging 18F to help them identify and define the scope of the procurement for a new, modular TTA platform.
- Matt Dobson - Experience Designer
- Robert Jolly - Product Manager
- Ryan Ahearn - Engineer
- Carrie Feher - Account Manager
- Randy Hart - Acquisitions Consultant
- Request for Quotes
- Living Deck π
- OHS Shared Drive π
- OHS Background Docs π
- Weekly Ships π
- Presentation to OHS Core Leadership Team 11/6/2019 π
- Research Folder (interview notes and related documentation) π
- Presentation for OHS Stakeholder Research Findings 11/6/2019 π
The prototype app is automatically deployed to cloud.gov on a successful CircleCI build of the main branch.
.circleci/Dockerfile
is used to create the Docker image used for the deploy
CircleCI job.
It consists of the standard CircleCI Ruby image with the cf
command line tool installed
To rebuild: docker build -t rcahearn/rubycf:2.6.6-node .circleci/
Git tags have been used to mark the code as it existed at various experiments.
Here are some of the highlights of the technical status of each step.
ActivityReport
class very closely maps to the structure of HSES activity report excel exports.
UX is based around the Grantee show route and the timeline of activity reports
experiment-3
plus some fixes for IE11 compatibility. The experiment started looking at
a workflow for requesting TTA based on a monitoring report coming from ITAMS.
Added the MonitoringReport
, TtaNeed
, and Task
classes.
MonitoringReport
model was based on some basic fields seen in other systems, but should not be seen as an authoritative schema.
TtaNeed
and Task
classes are new concepts meant to start to model out a TTA deployment workflow and progress tracking based on concrete action items instead of narrative.
This pulls Topic
into a top level model for TtaNeed
rather than relying on the tagging implementation
The ActivityPlan
model was introduced to the workflow to set up the planned Objectives and Tasks (both modeled with Task
for an individual activity) Task
s were still only associated with the parent TtaNeed
but that is not the appropriate long term model.
GranteeRole
model was introduced to map who from the Grantee would be involved in any activity.
ActivityReport
s are now properly linked to their ActivityPlan
The following tools must be installed:
Install required ruby gems with: $ bundle install
Install required javascript libraries with: $ yarn install
- Ensure that postgresql is running
- create the database with:
$ bundle exec rake db:create
- load the schema:
$ bundle exec rake db:schema:load
- load required data:
$ bundle exec rake db:seed
The full suite of tests and code scans can be run with: $ bundle exec rake
The full suite of only tests can be run with: $ bundle exec rake spec
$ bundle exec rails server
Then you can visit http://localhost:3000
to view the application.
Run bundle exec rake docs:generate
, start the server, and then visit http://localhost:3000/docs/api
to
view the API docs. These are also available from the deployed prototype application
- Ruby on Rails backend framework
- Reactjs frontend framework
- PostgreSQL database
- RSpec ruby unit tests
- Standard Ruby ruby style scanner
- Brakeman ruby static code analysis
- bundle audit ruby dependency scanner
- yarn audit javascript dependency scanner
- CircleCI continuous integration server