Clone or download
Latest commit ed5255e Nov 12, 2018
Permalink
Failed to load latest commit information.
.circleci 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
_data Consumer Site Updates for Annual Update Phase 3. Oct 30, 2018
_includes 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
_layouts Add social networks and ga events (#1668) Mar 29, 2018
_plugins Update federalist and node (#1626) May 31, 2017
_sass 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
assets Consumer Site Updates for Annual Update Phase 3. Oct 30, 2018
beta Update schedule.md Jul 27, 2015
compare 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
css FontAwesome Stange Symbols (#1666) Mar 14, 2018
data Consumer Site Updates for Annual Update Phase 3. Oct 30, 2018
docs diagram with relative path Jan 22, 2016
img Annual Update - September 2017 (#1637) Sep 28, 2017
js 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
school 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
search 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
styleguide Accessibility fixes (#1600) Mar 29, 2017
test Consumer Site Updates for Annual Update Phase 3. Oct 30, 2018
.about.yml Update contact Feb 2, 2016
.gitignore Revert "Re-adding the minified assets due to lack of nom" Oct 31, 2016
.hound.yml add .jshintignore and entry in .hound.yml Feb 10, 2016
.jshintignore add .jshintignore and entry in .hound.yml Feb 10, 2016
.jshintrc more jshint hints Feb 12, 2016
.nvmrc Update federalist and node (#1626) May 31, 2017
.ruby-version Another attempt to upgrade ruby and fixing a few syntax issues in the… Oct 28, 2016
404.html Add 404 page and associated styles. Sep 19, 2015
CONTRIBUTING.md Fix markdown links Sep 14, 2015
Gemfile Update dependencies (#1665) Mar 14, 2018
Gemfile.lock Update Rack gem (#1693) Nov 12, 2018
LICENSE.md add 18F licensing Jul 1, 2015
README.md update downloads bucket url Apr 26, 2017
_config.yml Increment Version Oct 30, 2018
commit.txt update commit.txt to use git_metadata plugin Apr 28, 2017
config.ru require SSL (redirect from HTTP -> HTTPS) Jul 14, 2015
favicon.ico Adds symlink to favicon at root. Sep 11, 2015
index.html 2018 Annual Data Refresh - Phase 2 (#1685) Sep 28, 2018
package.json Update dependencies (#1679) May 16, 2018
robots.txt Update robots.txt Sep 12, 2015
sitemap.xml Consumer Site Updates for Annual Update Phase 3. Oct 30, 2018
system-security-plan.yml going with YML only Jul 27, 2015

README.md

College Scorecard

A website that allows students (high school and adult) and those who support them (parents, guidance counselors) to not only search among colleges to find schools that would meet their desires, but also encourage them to consider "value" factors, be exposed to schools with better outcomes, and allow users to compare and contrast schools across different dimensions of "fit," highlighting "value" factors. The goal is to enable people to find schools that are best suited to them, and ensure a broad and flexible definition of elements that contribute to "fit."

This repo contains the front end of a web app with its API created by an instance of Open Data Maker which is configured with a specific data set. For more details on setting up the back end of the web app, see below: Running the API Locally. However, you can run the web app with the hosted API following the installation instructions in the next section.

Build Status

Installation

This site is made with Jekyll. Once you've got Ruby on your computer, you can run:

gem install github-pages

(Note: depending on how Ruby was installed, you may need to prefix the above command with sudo.)

Then install all the ruby gems you need:

bundle

This Jekyll site features dynamic JavaScript that queries api.data.gov. For the JavaScript to work, it needs an API key (register for one at api.data.gov/signup/) and a base URL. Jekyll will pull them from the local machine's environment variables at build time, so ensure that both the API_KEY and API_BASE_URL variables are set before running build scripts. On a Mac using the production api endpoint this is how to set those variables:

export API_KEY=yourkeyhere; export API_BASE_URL=https://api.data.gov/ed/collegescorecard/v1/

To start up the local server, run:

jekyll serve --baseurl='' -w

Then visit http://localhost:4000 to view it. The -w (or --watch) flag tells Jekyll to rebuild the relevant pages when you edit the source files.

Front End Development

Stylesheets

JavaScript

See the JavaScript docs for more information on our scripting tools and workflows.

Accessibility

Content

For the content on the College Scorecard, we are following the 18F Content Guide.

Running the API Locally

To set up the API (as a developer), follow the Open Data Maker installation instructions then:

  1. download the full data set into open-data-maker directory and rename the folder as "real-data"

  2. set DATA_PATH environment variable. On the command line:

    export DATA_PATH=./real-data
  3. This application uses only most recent data. To speed up start up time, edit data.yaml file inside the real-data directory to limit the number of files indexed to 4 (year 2013 is included twice, once for the columns that are not specific to any year, and once for the 2013 data, then 2012 and 2011). Optionally, limiting the number of rows will reduce the set of colleges in the data set and is helpful for testing since it speeds startup time significantly:

    options:
      limit_files: 4
      limit_rows: 100

    To create the API for the complete set of schools, comment out the limit_rows option by adding a # to the start of the line:

    options:
      limit_files: 4
    #  limit_rows: 100
  4. Start Open Data Maker. On the command line, from the open-data-maker directory:

    padrino start
  5. To view progress of indexing, it is helpful to look at the development log in another terminal window:

    tail -f log/development.log

System Architecture

This repository drives the "front end" of the College Scorecard application and is hosted on Federalist. The back end is an instance of the Open Data Maker. Here's how the different parts work together in our production environment:

system architecture

Content

For the content on the College Scorecard, we are following the 18F Content Guide.