- Materia Docs for public how-tos and widget descriptions.
- FuelPHP 1.7.2 for the application's main backend framework.
- Gulp for compiling static resources like CoffeeScript and SASS.
- Clu Materia Repositories for existing widgets and supporting projects.
- DevMateria for fast widget development.
Materia can be quickly and easily deployed using a free or paid Heroku server.
Start your Development server with instructions found in the Materia Docker repository
Check out the ansible scripts used to deploy Materia on qa and production Materia-Ansible
Tests run in the docker environment to maintain consistency.
Installs the base widgets, sets up and cleans a test database, runs all the tests and generates coverage reports
./run_tests.sh will prepare the test environment and run all the unit tests and integration tests
Inspect the actual test command in /.run_tests.sh for guidance, but as of the time of writing this, you can run a subset of the tests in the docker environment to save time.
The following command will run just the Oauth tests rather quickly:
docker-compose -f docker-compose.yml -f docker-compose.admin.yml run --rm phpfpm /wait-for-it.sh mysql:3306 -t 20 -- env SKIP_BOOTSTRAP_TASKS=true php oil test --group=Oauth
Jenkins has a few special requirements, so it extends run_tests.sh with it's own setup code.
There is a pre-commit hook available to ensure your code follows our linting standards. Check out the comments contained inside the hook files (in the githooks directory) to install it, you'll need a few dependencies installed to get linting working.