michaelbragg / wp-starter-kit

The starting place for building a website on the WordPress platform.
0 stars 0 forks source link

Technology Stack #9

Open michaelbragg opened 7 years ago

michaelbragg commented 7 years ago

Decide on a technology stack for all our WordPress projects. These will determine what technologies our developers will need to have installed and understand. Also, determine which hosting providers we can support/recommend.

michaelbragg commented 7 years ago

PHP

PHP version 7+.

michaelbragg commented 7 years ago

Database: MySQL

michaelbragg commented 7 years ago

Package Managment: Composer

The standard package manager for PHP. Also with a slight hack is compatible with WordPress core and it's plugins/themes.

michaelbragg commented 7 years ago

Local Development Environment

Our aim is to allow developers to run their own preferred local environments. As we believe they can work more efficiently where they are most comfortable. Our caveat is that it must be able to meet our version requirements Testing is done on our staging servers that, as closely as possible, reflect the production environment of the project.

michaelbragg commented 7 years ago

Version Control: Git / GitHub

Version controlling our source code is an accepted best practice. Giving us the benefits of:

michaelbragg commented 7 years ago

Configuration Managment: PHP dotenv

wp-config.php usually stores our projects configurations. This is the standard WordPress way. It works well for simple projects where the developer hasn't the experience with config management or has no access to additional tools for this.

We beleive in a strict separation of config from code. Allowing us to deploy one code base to an infinate number of environments. Removing sensative information such as passwords or API keys from a project that may, one day, be open sourced or not managed by ourselves.

We use curently use "phpdotenv". I'd be interested in exploring moving these into the servers settings. Would need to gage Hosting providers support and how it would effect local development project setup.