External Service Dependencies
Database
A MySQL database MUST
be used that is at least version 5.7, due to the use of enums and the JSON column type. Various queries performed by the app also make use of MySQL specific features/syntax.
Any email service supported by Laravel can be used. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
SMS
Any SMS service supported by Laravel can be used. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
Object caching
Any object caching service supported by Laravel can be used. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
Queue
Any queue service supported by Laravel can be used. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
Search
Elasticsearch MUST
be used for searching. Laravel Scout is used for synchronising the database with the search provider, however, the actual search itself uses a raw query specific to the search provider. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
Logging
Following the principles of The Twelve-Factor App, the logging output of the app will go to stdout
or stderr
. This will then be gathered by an external logging service by creating a log drain service.
For AWS implementations, the CloudWatch agent can be set up to proxy logs from the /storage/logs/laravel.log
file to CloudWatch.
Application error logging uses Bugsnag.
File storage
Any file storage service supported by Laravel can be used. If a custom driver is needed, either issue a pull request or create an issue to request implementation.
Geocoding
Geocoding only currently supports the Google Geocoding API driver. If a custom driver is needed, either issue a pull request or create an issue to request implementation.