Need help with code-nasa-gov?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

225 Stars 77 Forks 202 Commits 0 Opened issues

Description site leveraging the Open Source Catalog on, powered by Polymer

Services available


Need anything else?

Contributors list


Build Status

Catalog of Open Source Software from NASA. Built using Polymer.

Do You have a Open-Source Code Project For This Site?


Instructions for releasing a NASA open-source project can be found on

Code.json vs Category.json

Newly approved code projects for release are added to code.json. You can add your approved open-source NASA project to code.json, here.

All federal agencies are mandated to have a code.json that is then harvested by the General Services Adminstration (GSA) and aggregated into

Code.json is reformatted by a script run by NASA's open-innovation team into category.json. Category.json has some attributes not in code.json and is used to build the project page on

Additionally, at this time, only category.json has the A.I.-generated keyword tags in addition to the human-generated tags. This may change in the future.

Why code.json is bigger than category.json

Some of the code projects in code.json have open-source licenses. Other projects in code.json have government-source only licenses, meaning sharing is constrainted to government agencies. All of the code projects listed in category.json have open-source licenses.

Making your own data visualization with the JSONs that drive


If you make your own visualization, please add it as an issue. We would love to see it!

Running The Code In This Repository




Install bower and polymer-cli:

npm install -g bower polymer-cli

Check that you are using Node v8+

node -v

Install dependencies

bower i

Start the development server

This command serves the app at

and provides basic URL routing for the app:
polymer serve --open


This command performs HTML, CSS, and JS minification on the application dependencies and generates a service-worker.js file with code to pre-cache the dependencies based on the entrypoint and fragments specified in

. The minified files are output to the
folder, and are suitable for serving from a HTTP/2+Push compatible server.

In addition the command also creates a fallback

folder, generated using fragment bundling, suitable for serving from non H2/push-compatible servers or to clients that do not support H2/Push.
polymer build

Preview the build

This command serves the minified version of the app at

in an unbundled state, as it would be served by a push-compatible server:
polymer serve build/unbundled

This command serves the minified version of the app at

generated using fragment bundling:
polymer serve build/bundled


When deploying to a static web server (with no HTTP/2+Push), be sure to copy only the files from

directory (NOT the project directory) which contains a functional service worker and minified files. Put them in a top level part of the directory, not within another build/bundled directory within the production directory.

Adding a new view

You can extend the app by adding more views that will be demand-loaded e.g. based on the route, or to progressively render non-critical sections of the application. Each new demand-loaded fragment should be added to the list of

in the included
file. This will ensure those components and their dependencies are added to the list of pre-cached components (and will have bundles created in the fallback

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.