Projects2 Documentation

Infrastructure Overview

  • PHP7/7.1
  • MySQL/Percona
  • Laravel 5.4 (was 5.3)
  • Doctrine 2
  • Laravel Doctrine
  • VueJS
  • SCSS - AdminLTE, Bootstrap3

Laravel Documentation

The following articles are of note when first working with the project system

Resource Routes (CRUD)

Blade templating and inheritance

Vue JS Documentation

VueJs Documentation Vue Components (Laravel)

Testing in staging

Quite often it is useful to be able to test and experiment with the project system to see what happens after certain actions. Such as seeing how working agreements are sent, what they look like and how to tweak different things.

For this reason there is a staging container set up with the bleeding edge version of the project system. Completely separate from production, it is very hard to do any real damage when changing things here.


Conveniently, the staging version is also the version that should be developed on directly, as opposed to production. This means you should clone ec-projects2staging to develop and not ec-projects2. This prevents any one from accidentally requesting a full dump of the container that turns the container off to work.

Testing framework Documentation

The test suite uses PHP Unit and Mockery for functional, unit and integration tests and Behat for Acceptance tests

All tests are located in ROOT/tests and are grouped by the type of test (e.g. Unit). Namespaces and PSR-4 are used in all tests (except acceptance feature files).