2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00
2025-01-22 23:36:03 +01:00

How to start with development

  • Requirements:

    • bash
    • Docker with Docker Compose (v2) command
  • Run:

    develop.sh
    

Tests

Run the following command to execute the tests:

docker compose exec php-fpm vendor/bin/phpunit

PHPStan & CS

  • Run PHP CodeSniffer:
    docker compose exec php-fpm vendor/bin/phpcs
    
  • Run PHPStan with increased memory limit:
    docker compose exec php-fpm vendor/bin/phpstan --memory-limit=2G
    

Containers

  • php-fpm - FPM and additional tooling
  • nginx - Serves static content, proxies requests to FPM
  • mariadb - Database

TODO

  • The current tests are just two unit tests. It definitely needs testing of individual pages, but I haven't had time to set up Codeception (which I would like to use), and the framework itself doesn't offer much.
  • Add a monitoring stack (Prometheus, Otel, Loki, Grafana, etc.).
  • Integrate Sentry.
  • Establish deployment pipelines for dev/test and production environments. Configure production settings and Docker images.
  • Integrate CI/CD.

Notes

  • Saving filters into session makes this app very unusable (back button etc.)
Description
No description provided
Readme 63 KiB
Languages
PHP 77.9%
Latte 12.8%
HTML 7.3%
Shell 2%