DEV Community

Paul Rumkin
Paul Rumkin

Posted on

Ultimate web app requirements list

I'have been working on creation of web applications around 18 years of my life. Since the time when I started the Web has been changed from simple "Internet with services" to what we have today. And now developers working on a new web application should make hundreds of decisions and learn a lot of stuff. Lets' collect all requirements and things to do/know as a list to share experience.

Order of items doesn't represent importance.

Also it would be awesome if you'll share your experience to complete it or help with advise how to organize it better.

Production

Client requirements

  • HTML rendering/manipulation.
  • Navigation/history manipulation.
  • i18n.
  • Input/Output validation.
  • Input/Output infiltration.
  • Frontend delivery.
  • CSS methodology.
  • HTML semantic markup.
  • Accessibility attributes (ARIA).
  • OpenGraph metatags.
  • SearchEngines metatags.
  • OS specific metatags.
  • Manifest.json.
  • Service worker.
  • Versioning and migrations.
  • Transport encoding.
  • Minimal runtime support.
  • Synchronization strategy.
  • Usage statistics measurement.

Server requirements

  • HTML rendering/manipulation.
  • i18n.
  • Input/Output validation.
  • Input/Output infiltration.
  • HTTP API architecture.
  • Web Server/Balancer.
  • API Server.
  • HTTP Security management: CSP, CORS.
  • Authorization.
  • CI/CD.
  • Roles managements.
  • User notification/feedback.
  • Data Storage.
  • Logging.
  • Caching.
  • Services communication.
  • Client data encryption.
  • Process monitor.
  • Versioning and migration.
  • 2FA.

Environment requirements

  • Code delivery.
  • Infrastructure deployment.
  • Access management.
  • System reboot strategy.
  • Instance communication encryption.

Development

Client requirements

  • JS compiler/transpiler.
  • CSS compiler.
  • Bundler.
  • Accessibility check.
  • Performance measure.
  • Tests.
  • Regression tests.
  • Debugger.

Server requirements

  • API Documentation.
  • Environment manipulation.
  • Stage deployment.
  • Tests.
  • Regression tests.
  • Debugger.

Environment requirements

  • Architecture description.
  • Key management.
  • Data storage organization.

This is the first iteration for the utter guide of a modern web developer knowledges. Hope it will help others to understand what to learn next and where to move on their carrier way.

Top comments (0)