All Projects → GSA → code-gov-front-end

GSA / code-gov-front-end

Licence: other
Front-end of code.gov

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to code-gov-front-end

code-gov
An informative repo for all Code.gov repos
Stars: ✭ 101 (+140.48%)
Mutual labels:  civic-tech, code-gov
votacidade-app
Calculadora de afinidade para o Vota Cidade 2020
Stars: ✭ 12 (-71.43%)
Mutual labels:  civic-tech
matsim-sbb-extensions
matsim swiss rail
Stars: ✭ 23 (-45.24%)
Mutual labels:  federal
civiform
CiviForm aims to simplify the application process for benefits programs by re-using applicant data for multiple benefits applications. It's being developed by Google.org in collaboration with the City of Seattle and community contributors.
Stars: ✭ 56 (+33.33%)
Mutual labels:  civic-tech
digitalgov.gov
Digital.gov — Helping the government community deliver better digital services.
Stars: ✭ 167 (+297.62%)
Mutual labels:  civic-tech
WhoCanIVoteFor
🗳 The source for https://whocanivotefor.co.uk/
Stars: ✭ 35 (-16.67%)
Mutual labels:  civic-tech
CampaignFinance
NC Campaign Finance Dashboard. Making NC Campaign Funds visible to all citizens
Stars: ✭ 36 (-14.29%)
Mutual labels:  civic-tech
school-navigator
Navigate the Durham, NC public school system
Stars: ✭ 25 (-40.48%)
Mutual labels:  civic-tech
ApiDmS
Open Source Document Management System.
Stars: ✭ 16 (-61.9%)
Mutual labels:  helpwanted
memex-gate
General Architecture for Text Engineering
Stars: ✭ 47 (+11.9%)
Mutual labels:  federal
tenants
JustFix.nyc is a tool to document, organize, and take action in getting repairs made on your apartment.
Stars: ✭ 15 (-64.29%)
Mutual labels:  civic-tech
covid-19-date-la-zi
Vizualization App to track the COVID-19 epidemic
Stars: ✭ 40 (-4.76%)
Mutual labels:  civic-tech
Open-Water-Rate-Specification
A machine-readable format for storing and sharing water rate structures.
Stars: ✭ 18 (-57.14%)
Mutual labels:  civic-tech
cia
Citizen Intelligence Agency, open-source intelligence (OSINT) project
Stars: ✭ 79 (+88.1%)
Mutual labels:  civic-tech
ACCESS-NYC
Find help in NYC with food, money, housing, work, and more on ACCESS NYC. Maintained by @NYCOpportunity
Stars: ✭ 27 (-35.71%)
Mutual labels:  civic-tech
who-owns-what
Who owns what in nyc?
Stars: ✭ 146 (+247.62%)
Mutual labels:  civic-tech
a4-meinberlin
The central participation platform of the city of Berlin, Germany
Stars: ✭ 32 (-23.81%)
Mutual labels:  civic-tech
nyc-crash-mapper
React Redux web application for viewing, filtering, & comparing trends of automobile collision data published by the NYPD.
Stars: ✭ 15 (-64.29%)
Mutual labels:  civic-tech
ibpt
Tabela De Olho no Imposto - IBPT em JSON usando CDN
Stars: ✭ 45 (+7.14%)
Mutual labels:  federal
Safer-Streets-Priority-Finder
The Safer Streets Priority Finder enables you to analyze the risk to bicyclists and pedestrians on your community’s roads.
Stars: ✭ 22 (-47.62%)
Mutual labels:  civic-tech

Code.gov - Unlocking the potential of the Federal Government’s software.

Build Status Code Climate tested with jest

Introduction

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. 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.

To learn more about the project, check out this blog post.

Code.gov is an open source project, so we invite your contributions, be it in the form of code, design, or ideas.

Contributing

Here’s how you can help contribute to code.gov:

Getting Started

You 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 to set it up on your system.

After you have cloned this repo, you can use npm install to install all of the project’s dependencies.

You can then run the server using npm run start.

By default, the development server will listen on http://localhost:8080/. You can change the default port by setting the PORT environment variable before starting the server (for example, PORT=3000 npm start).

Specifying an API Key

The app uses the API key provided in the site.json by default. If you want to override that, specify an CODE_GOV_API_KEY environmental variable. Here's an example:

CODE_GOV_API_KEY=l87sfdi7ybc2bic7bai8cb2i176c3b872tb3 npm run start

An 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, your personal key will be ignored when committing updates to GH.

You can sign up for an API key.

File Structure

The directories in src are organized around the pillars of React, along with several additional custom file types. When creating new files, be sure to add your file and any necessary templates, styles, and tests to a directory dedicated to your new file in the appropriate place.

Testing

Unit testing is done using the jest framework with enzyme.

Use npm run test to run unit tests a single time. This will generate a code coverage report.

Use 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.

Note: 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

Note: site should be running locally before executing npm run test or you might get false errors due to the component plugins being used

To run web accessibility testing do the following: a. Make sure ruby and the bundler gem are installed on your computer. b. Start a server by running npm run start. c. Use the npm run test-pa11y command to run the accessibility tests.

Pa11y-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. Additional 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. The --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.

We follow the WCAG2AA standard. For more info on the rules being tested checkout the pa11y wiki

End-to-end tests:
We use Cypress to run end-to-end tests.
To run Cypress testing do the following:
a. Make sure you run npm install to install all of the project’s dependencies.
b. Start a server by running npm run start.
c. Use the npm run test:cypress command to run the Cypress tests.

Once these steps are completed, you should see the list of spec files.

Cypress startup

Click the run all specs button (in the upper right) to run the tests.

Cypress tests

Deployment

Read about how to publish to Github pages, Federalist and elsewhere here

Bundle analysis

https://federalist-proxy.app.cloud.gov/preview/gsa/code-gov-front-end/federalist-bundle-analysis/report.html

Deploying Arbitrary Branch

Coming soon!

Generating License Data

To update the dependency_licenses.json file, run npm run licenses.

Configuration

For documentation on how to configure code-gov-front-end, read here.

Questions?

If you have questions, please feel free to contact us:
Open an issue
LinkedIn
Twitter
Email

Or join our #opensource-public channel on Slack: https://chat.18f.gov/

License

As stated in CONTRIBUTING:

[..] 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).

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].