Skip to content

Instantly share code, notes, and snippets.

@ivan-kleshnin
Last active November 9, 2018 08:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ivan-kleshnin/48cc00006b47fa159e50514e652fbc52 to your computer and use it in GitHub Desktop.
Save ivan-kleshnin/48cc00006b47fa159e50514e652fbc52 to your computer and use it in GitHub Desktop.

TODO

Prerequisites

  • Team agreed on technology set
  • Licenses, cost of infrastructure etc. covered
  • Operating model (including SLAs) determined
  • Business plan worked out
  • List of supported browsers is available

Infrastructure

  • Build process fully automated
  • Error reporting on Frontend included
  • Error reporting on Backend included
  • Data backup is in place and securely stored
  • Scalability determined
  • Static resources are hosted on a CDN if necessary

Technical Foundation

  • End-to-end tests for all supported browsers available
  • Emitted JS is bundled and minified
  • Emitted CSS is bundled and minified
  • Emitted CSS is auto-prefixed
  • Bundle structure encourages cache reuse
  • Emitted HTML is minified
  • All emitted resources can be cached (e.g. use hashed name)
  • Emitted HTML is minified
  • All emitted resources can be cached (e.g. use hashed name)

Accessibility & Mobile

  • PWA enhancements are included (e.g. advanced caching)
  • Include noscript section(s)
  • Optimize link texts, image descriptions, and tab orders
  • Verify the color palette and background to foreground color ratio
  • A printer-friendly view exists

GoogleLighthouse

Security

  • No secrets, keys, or tokens are transmitted to the client
  • HTTPS is required and active for every call
  • SSL security (TODO add service list)
  • Upload fields are protected by a virus scanner service

Privacy

  • A privacy consent notification is displayed once
  • Links for imprint, data protection, and further legal information available
  • Includes information about tracking, third-party integrations, use of data, etc.
  • GDPR

Analytics

  • A meaningful robots.txt is provided
  • Analytics is setup and works correctly with SPA
  • Metadata (e.g. user properties) set up correctly

Fancy Additions

  • Keyboard shortcuts
  • Tooltips
  • Builtin error reporting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment