A functional application may exclude some or all of the following, and indeed most of the preceding. However, if you want someone like myself to consider your application a real application, then it needs to have all these things either done, or considered and documented as to how they will be implemented or why they have not been. And of course, remember that our context is in the scope of a modern web application, not a command line tool or some other program falling outside of this scope.
- Accountability
- Configuration
- Defaults
- Documentation
- Logging
- Optimization
- Error Handling
- Redundancy
- Retention
- Segregation
- Security
- Statefulness
- Statelessness
- Testability
- Validatation
- Versioning
XXX
XXX
XXX
XXX
(Historical Usage Data)
XXX
(Re-factor, etc)
XXX
(Anticipate failure)
XXX
XXX
(Save Everything)
XXX
Separation of Concerns
XXX
(Secure by Default)
XXX
(Database, cookies, etc)
XXX
(Service Containers, etc)
XXX
XXX
XXX
XXX