{"id":21016517,"url":"https://github.com/gsa/code-gov-front-end","last_synced_at":"2025-03-14T01:09:00.305Z","repository":{"id":46561756,"uuid":"148820914","full_name":"GSA/code-gov-front-end","owner":"GSA","description":"Front-end of code.gov","archived":false,"fork":false,"pushed_at":"2025-01-14T15:24:08.000Z","size":43964,"stargazers_count":45,"open_issues_count":47,"forks_count":59,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-02T03:10:02.701Z","etag":null,"topics":["civic-tech","code-gov","code-gov-front-end","federal","federal-government","helpwanted","open-source"],"latest_commit_sha":null,"homepage":"https://code.gov","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GSA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-14T17:26:00.000Z","updated_at":"2025-01-14T15:11:25.000Z","dependencies_parsed_at":"2023-01-29T01:31:01.092Z","dependency_job_id":"db3aca88-b249-464e-a11e-040057af7806","html_url":"https://github.com/GSA/code-gov-front-end","commit_stats":{"total_commits":1353,"total_committers":27,"mean_commits":"50.111111111111114","dds":0.7642276422764227,"last_synced_commit":"91ec2a9c25c704c8c8adfeb5fec79283f3fa9358"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSA%2Fcode-gov-front-end","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSA%2Fcode-gov-front-end/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSA%2Fcode-gov-front-end/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSA%2Fcode-gov-front-end/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GSA","download_url":"https://codeload.github.com/GSA/code-gov-front-end/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243505961,"owners_count":20301618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["civic-tech","code-gov","code-gov-front-end","federal","federal-government","helpwanted","open-source"],"created_at":"2024-11-19T10:13:53.376Z","updated_at":"2025-03-14T01:09:00.283Z","avatar_url":"https://github.com/GSA.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code.gov - Unlocking the potential of the Federal Government’s software.\n\n[![Build Status](https://circleci.com/gh/GSA/code-gov-front-end.svg?style=svg)](https://circleci.com/gh/GSA/code-gov-front-end)\n[![Code Climate](https://api.codeclimate.com/v1/badges/4675ef3ed03728b81e66/maintainability)](https://codeclimate.com/github/GSA/code-gov-front-end/maintainability)\n[![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest)\n\n## Introduction\n\n[Code.gov](https://code.gov) is a website promoting good practices in code development, collaboration, and reuse across the U.S. Government. Code.gov provides tools and guidance to help agencies implement the [Federal Source Code Policy](https://sourcecode.cio.gov). It also includes an inventory of government custom code to promote reuse between agencies and provides tools to help government and the public collaborate on open source projects.\n\nTo learn more about the project, check out this [blog post](https://www.whitehouse.gov/blog/2016/08/08/peoples-code).\n\nCode.gov is an open source project, so we invite your contributions, be it in the form of code, design, or ideas.\n\n## Contributing\n\nHere’s how you can help contribute to code.gov:\n\n- Source Code Policy\n\n  - To provide feedback on the [Federal Source Code Policy](https://sourcecode.cio.gov/), follow [this issue tracker](https://github.com/WhiteHouse/source-code-policy/issues)\n\n- Code.gov\n  - To provide feedback on code-gov-front-end, please checkout our [Contributing Guildelines](CONTRIBUTING.md).\n  - To contribute to the Code.gov data, go to the [code-gov-data] repo at (https://github.com/GSA/code-gov-data)\n  - Checkout [code-gov](https://github.com/GSA/code-gov) for a list of additional project repositories. If you aren't sure where your question or idea fits, this is a good place to share it.\n\n## Getting Started\n\nYou will need node to run this website. It's built against v10.19.0. The best way to get node is to install it via `nvm`. See the [nvm installation instructions](https://github.com/nvm-sh/nvm/blob/master/README.md#installation-and-update) to set it up on your system.\n\nAfter you have cloned this repo, you can use `npm install` to install all of the\nproject’s dependencies.\n\nYou can then run the server using `npm run start`.\n\nBy default, the development server will listen on \u003chttp://localhost:8080/\u003e. You can change the default port by setting the `PORT` environment variable before starting the server (for example, `PORT=3000 npm start`).\n\n### Specifying an API Key\n\nThe app uses the API key provided in the site.json by default.\nIf you want to override that, specify an `CODE_GOV_API_KEY` environmental variable. Here's an example:\n\n```\nCODE_GOV_API_KEY=l87sfdi7ybc2bic7bai8cb2i176c3b872tb3 npm run start\n```\n\nAn alternate approach to using your API key every time you use `npm run start` is to create a `.env.local` file and store your API key. (Remember to use `CODE_GOV_API_KEY=...`) In accordance with [dotenv-flow](https://www.npmjs.com/package/dotenv-flow), your personal key will be ignored when committing updates to GH.\n\nYou can sign up for an [API key](https://open.gsa.gov/api/codedotgov/).\n\n### File Structure\n\nThe directories in `src` are organized around the pillars of React, along\nwith several additional custom file types. When creating new files, be sure to\nadd your file and any necessary templates, styles, and tests to a directory\ndedicated to your new file in the appropriate place.\n\n### Testing\n\nUnit testing is done using the [jest](https://github.com/facebook/jest) framework with [enzyme](https://github.com/airbnb/enzyme).\n\nUse `npm run test` to run unit tests a single time. This will generate a code coverage report.\n\nUse `npm run test-watch` to run unit tests continuously, re-running each time a file is saved. By default only files changed since the last commit will be ran, follow the command line prompt for customizing how tests are ran. Snapshot tests can be updated while running this command, by pressing `u` to updated them.\n\nNote: console.log/warn/error are mocked in unit tests and will not print anything to avoid cluttering the command line. Use a different logging, such as console.info for debugging while running tests\n\nNote: site should be running locally before executing npm run test or you might get false errors due to the component plugins being used\n\nTo run web accessibility testing do the following:\na. Make sure [ruby](https://www.ruby-lang.org/en/documentation/installation/) and the [bundler gem](https://bundler.io/) are installed on your computer.\nb. Start a server by running `npm run start`.\nc. Use the `npm run test-pa11y` command to run the accessibility tests.\n\nPa11y-ci uses URLs in the sitemap file to run tests against. It currently excludes anything in /projects. Since this is over 6000 items, it would take a long time to finish and just report the same issues over and over.\nAdditional accessibility testing configuration is located in the .pa11yci file. A select few projects are listed here as URL's to test. These are tested in addition to the sitemap.xml.\nThe `--sitemap-find` and `--sitemap-replace` commands allow us to scan the named pages in the sitemap, but test them locally against the server you are running on your machine.\n\nWe follow the WCAG2AA standard. For more info on the rules being tested checkout the [pa11y wiki](https://github.com/pa11y/pa11y/wiki/HTML-CodeSniffer-Rules)\n\nEnd-to-end tests:  \nWe use Cypress to run end-to-end tests.  \nTo run Cypress testing do the following:  \na. Make sure you run `npm install` to install all of the\nproject’s dependencies.  \nb. Start a server by running `npm run start`.  \nc. Use the `npm run test:cypress` command to run the Cypress tests.\n\nOnce these steps are completed, you should see the list of spec files.\n\n![Cypress startup](assets/img/cypress-running.png)\n\nClick the `run all specs` button (in the upper right) to run the tests.\n\n![Cypress tests](assets/img/cypress-tests.png)\n\n## Deployment\n\nRead about how to publish to Github pages, Federalist and elsewhere [here](DEPLOYMENT.md)\n\n## Bundle analysis\n\nhttps://federalist-proxy.app.cloud.gov/preview/gsa/code-gov-front-end/federalist-bundle-analysis/report.html\n\n## Deploying Arbitrary Branch\n\nComing soon!\n\n## Generating License Data\n\nTo update the `dependency_licenses.json` file, run `npm run licenses`.\n\n## Configuration\n\nFor documentation on how to configure code-gov-front-end, read [here](CONFIGURATION.md).\n\n## Questions?\n\nIf you have questions, please feel free to contact us:  \n[Open an issue](https://github.com/GSA/code-gov-front-end/issues)  \n[LinkedIn](https://www.linkedin.com/company/code-gov/)  \n[Twitter](https://twitter.com/@CodeDotGov)  \n[Email](mailto:code@gsa.gov)\n\nOr join our `#opensource-public` channel on Slack: https://chat.18f.gov/\n\n## License\n\nAs stated in [CONTRIBUTING](CONTRIBUTING.md):\n\n\u003e [..] this project is in the worldwide public domain (in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/)).\n\n\u003e All contributions to this project will be released under the CC0\n\u003e dedication. By submitting a pull request, you are agreeing to comply\n\u003e with this waiver of copyright interest.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsa%2Fcode-gov-front-end","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsa%2Fcode-gov-front-end","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsa%2Fcode-gov-front-end/lists"}