Technical Requirements
A. Technologies to use
-
Overview:
•
Should have a solid body of work / Clean code
•
Front-end development including CSS, XHTML, HTML5, JavaScript, JQuery and Ajax.
•
WordPress latest version, including WordPress Woocommerce, custom plugins,
custom post types and overall Wordpress security (https://wordpress.org/ |
http://codex.wordpress.org/Main_Page )
•
No debug outputs
•
Follow WordPress Coding Standards
•
No duplicated functions/classes
•
Validate php, html, css, js
•
Lint all code
•
Support for IE10+, Safari, Firefox and Chrome (latest versions) on Win 8.1, OSX
(latest)
•
Support for Safari on IOS8 and Android Browser (latest version)
•
Do not use any deprecated functions
•
Do not use any experimental functions
•
Do not use flash/Silverlight/java
•
php strict
•
check spelling in code
•
validate/sanitize all user input
-
Front:
Note:
Mobile support retina 2x for all images (css, theme and user uploaded images)
- Back:
Wordpress:
• Latest version
•
Use template system for theme and custom plugins
•
I18n support for all strings
•No query vars on css/js links click
•
Support ssl
•
Don’t use a plugin for contact forms
•
Do not modify plugins
•
Hash all theme and custom plugin css/js files
•
Give wordpress its own directory click
•
Use composer for wordpress and plugins (ensure dependencies only includes
mandatory items for production)
•
Provide gulp/grunt build scripts if used
•
Capture all exceptions and write to dedicated log file (notify admin contact by
email, this is not the php error log)
•
Capture all 3rd party api call errors and write to dedicated log file
(notify admin contact by email, this is not the php error log)
•
Allow to route all wordpress emails through smtp server (outside of php
configuration) click
C. Performance
• Visual complete in less than 4 seconds
•
No SPOF
•
Minify and combine all css/js resources
•
Don’t load external css/js/fonts unless it is necessary. Deliver local assets
•
Google pages peed score of at least 90 for mobile and desktop
•
Cache all external API calls if possible
•
All images to be optimized
•
Use the appropriate image format for the task of the image
•
Use css sprites/svg
•
Offload all static elements to cookieless (sub)domain
•
woff,ttf fonts only
https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
http://upstatement.com/timber/
https://docs.npmjs.com/files/package.json
https://make.wordpress.org/core/handbook/coding-standards/php/
Wordpress documentataion
https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
http://upstatement.com/timber/
https://docs.npmjs.com/files/package.json
https://make.wordpress.org/core/handbook/coding-standards/php/
Wordpress documentataion
- Maintain coding standard https://make.wordpress.org/core/handbook/coding-standards/php/