This repository contains the PHP app that provides most of the backend of UiTdatabank v3, aka UDB3.
Several CI checks have been provided to make sure any changes are compliant with our coding standards and to detect potential bugs.
You can run all CI checks combined using the following composer script:
composer ci
Or run them individually:
composer test
for testscomposer phpstan
for static analysiscomposer cs
for detecting coding standards violationscomposer cs-fix
for fixing coding standards violations (where possible)
These checks will also run automatically for every PR.
We use Doctrine Migrations to manage database schema updates.
To run the migrations, you can use the following composer script:
composer migrate
Logs are located in the ./logs
directory.
web.log
contains unforeseen errors/exceptions that occurred in HTTP requestscli.log
contains CLI errors that did not get caught and logged to the other logs listed below
The following logs contain info about CLI commands that run continuously.
amqp.uitpas.log
contains logs about UiTPAS events that get processed through theamqp-listen-uitpas
CLI commandresque.bulk-label-offer.log
contains logs about the resque worker for thebulk_label_offer
queueresque.event-export.log
contains logs about the resque worker for theevent_export
queue
The following logs contain info about specific services that can be part of HTTP requests, CLI commands, or both.
service.xml-conversion.log
contains logs about parsing/projection of previously imported XMLservice.json-imports.log
contains logs about JSON-LD importsservice.labels.log
contains logs about label (aggregates)service.media.log
contains logs about the media manager, i.e. about uploads and edits of images and media objectsservice.geo-coordinates.log
contains logs about the geocoding of organizers and placesservice.uitpas.log
contains logs about general calls to UiTPAS, e.g. to check for ticket sales
Use the LoggerFactory::create()
method to quickly create a new logger. This way it gets stored in the right directory, correct formatting of exceptions, automatic Sentry integration, etc.