18F / development-guide

A set of guidelines and best practices for an awesome software engineering team
https://engineering.18f.gov
Other
1.25k stars 122 forks source link

Add API standards #299

Closed matthinz closed 2 years ago

matthinz commented 2 years ago

This PR brings in the now-archived 18F API Standards repo into the guide. The new page, called APIs, is (for now) in the Our Approach section.

Things I'd like to do before landing:

Closes #295

github-actions[bot] commented 2 years ago
Pa11y testing results ``` > development-guide@1.0.0 pa11y-ci:sitemap > pa11y-ci --sitemap https://engineering.18f.gov/sitemap.xml --sitemap-find https://engineering.18f.gov --sitemap-replace http://localhost:4000 --sitemap-exclude "/*.pdf" Running Pa11y on 41 URLs: > http://localhost:4000/architecture-reviews/ - 0 errors > http://localhost:4000/about/ - 0 errors > http://localhost:4000/architecture-reviews/data-act-pilot/ - 0 errors > http://localhost:4000/accessibility-scanning/ - 0 errors > http://localhost:4000/code-review/ - 0 errors > http://localhost:4000/books-we-have-read/ - 0 errors > http://localhost:4000/architecture-reviews/micro-purchase/ - 0 errors > http://localhost:4000/browser-testing/ - 0 errors > http://localhost:4000/datastore-selection/ - 0 errors > http://localhost:4000/continuous-deployment/ - 0 errors > http://localhost:4000/development-environments/ - 0 errors > http://localhost:4000/docker/ - 0 errors > http://localhost:4000/css/ - 0 errors > http://localhost:4000/example-workflows/ - 0 errors > http://localhost:4000/frontend/ - 0 errors > http://localhost:4000/incident-reports/ - 0 errors > http://localhost:4000/ - 0 errors > http://localhost:4000/integrations/ - 0 errors > http://localhost:4000/incident-reports/cloud-gov/ - 0 errors > http://localhost:4000/language-selection/ - 0 errors > http://localhost:4000/javascript/ - 0 errors > http://localhost:4000/laptop-setup/ - 0 errors > http://localhost:4000/license/ - 0 errors > http://localhost:4000/markdown/ - 0 errors > http://localhost:4000/nodejs/ - 0 errors > http://localhost:4000/people/ - 0 errors > http://localhost:4000/people/assessment/ - 0 errors > http://localhost:4000/python/ - 0 errors > http://localhost:4000/project-setup/ - 0 errors > http://localhost:4000/release-strategies/ - 0 errors > http://localhost:4000/resources/ - 0 errors > http://localhost:4000/security/ - 0 errors > http://localhost:4000/security/cloud-services/ - 0 errors > http://localhost:4000/ruby/ - 0 errors > http://localhost:4000/security/content-security-policy/ - 0 errors > http://localhost:4000/security/dependency-remediation/ - 0 errors > http://localhost:4000/security/incident-response-drills/ - 0 errors > http://localhost:4000/security/output-encoding/ - 0 errors > http://localhost:4000/web-architecture/ - 0 errors > http://localhost:4000/sharepoint/ - 0 errors > http://localhost:4000/workflow/ - 0 errors ✔ 41/41 URLs passed ```
github-actions[bot] commented 2 years ago
Pa11y testing results ``` > development-guide@1.0.0 pa11y-ci:sitemap > pa11y-ci --sitemap https://engineering.18f.gov/sitemap.xml --sitemap-find https://engineering.18f.gov --sitemap-replace http://localhost:4000 --sitemap-exclude "/*.pdf" Running Pa11y on 41 URLs: /home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Page.js:215 this.emit('error', new Error('Page crashed!')); ^ Error: Page crashed! at Page._onTargetCrashed (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Page.js:215:24) at CDPSession. (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Page.js:123:56) at CDPSession.emit (node:events:520:28) at CDPSession._onMessage (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Connection.js:200:12) at Connection._onMessage (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Connection.js:112:17) at WebSocket. (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/WebSocketTransport.js:44:24) at WebSocket.onMessage (/home/runner/work/development-guide/development-guide/node_modules/ws/lib/event-target.js:120:16) at WebSocket.emit (node:events:520:28) at Receiver.receiverOnMessage (/home/runner/work/development-guide/development-guide/node_modules/ws/lib/websocket.js:789:20) at Receiver.emit (node:events:520:28) Emitted 'error' event on Page instance at: at Page._onTargetCrashed (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Page.js:215:10) at CDPSession. (/home/runner/work/development-guide/development-guide/node_modules/puppeteer/lib/Page.js:123:56) [... lines matching original stack trace ...] at Receiver.emit (node:events:520:28) ```
github-actions[bot] commented 2 years ago
Pa11y testing results ``` > development-guide@1.0.0 pa11y-ci:sitemap > pa11y-ci --sitemap https://engineering.18f.gov/sitemap.xml --sitemap-find https://engineering.18f.gov --sitemap-replace http://localhost:4000 --sitemap-exclude "/*.pdf" Running Pa11y on 41 URLs: > http://localhost:4000/about/ - 0 errors > http://localhost:4000/architecture-reviews/ - 0 errors > http://localhost:4000/architecture-reviews/data-act-pilot/ - 0 errors > http://localhost:4000/accessibility-scanning/ - 0 errors > http://localhost:4000/browser-testing/ - 0 errors > http://localhost:4000/code-review/ - 0 errors > http://localhost:4000/books-we-have-read/ - 0 errors > http://localhost:4000/architecture-reviews/micro-purchase/ - 0 errors > http://localhost:4000/continuous-deployment/ - 0 errors > http://localhost:4000/datastore-selection/ - 0 errors > http://localhost:4000/development-environments/ - 0 errors > http://localhost:4000/docker/ - 0 errors > http://localhost:4000/frontend/ - 0 errors > http://localhost:4000/example-workflows/ - 0 errors > http://localhost:4000/css/ - 0 errors > http://localhost:4000/incident-reports/ - 0 errors > http://localhost:4000/incident-reports/cloud-gov/ - 0 errors > http://localhost:4000/ - 0 errors > http://localhost:4000/language-selection/ - 0 errors > http://localhost:4000/integrations/ - 0 errors > http://localhost:4000/laptop-setup/ - 0 errors > http://localhost:4000/javascript/ - 0 errors > http://localhost:4000/license/ - 0 errors > http://localhost:4000/people/ - 0 errors > http://localhost:4000/markdown/ - 0 errors > http://localhost:4000/people/assessment/ - 0 errors > http://localhost:4000/nodejs/ - 0 errors > http://localhost:4000/release-strategies/ - 0 errors > http://localhost:4000/python/ - 0 errors > http://localhost:4000/resources/ - 0 errors > http://localhost:4000/project-setup/ - 0 errors > http://localhost:4000/security/content-security-policy/ - 0 errors > http://localhost:4000/ruby/ - 0 errors > http://localhost:4000/security/ - 0 errors > http://localhost:4000/security/cloud-services/ - 0 errors > http://localhost:4000/security/dependency-remediation/ - 0 errors > http://localhost:4000/security/output-encoding/ - 0 errors > http://localhost:4000/security/incident-response-drills/ - 0 errors > http://localhost:4000/sharepoint/ - 0 errors > http://localhost:4000/web-architecture/ - 0 errors > http://localhost:4000/workflow/ - 0 errors ✔ 41/41 URLs passed ```
svenaas commented 2 years ago

This doesn't need another review but I want to add my thanks, @matthinz. It's good to see work like this rescued from an archived repository, and even better to see it updated!

matthinz commented 2 years ago

Thanks all, I think there's some more work that could be done on these recommendations, but I'm gonna merge and think about that next week!