Martin e6b75410ed Add copyright information to README
Added visible copyright section with author information:
- Martin Kiesewetter
- mki@kies-media.de
- https://kies-media.de

Also updated project title from "PHP Docker Anwendung" to "Web Crawler"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 09:29:05 +02:00
2025-10-03 14:02:44 +02:00
2025-10-03 23:19:49 +02:00
2025-10-03 14:13:04 +02:00
2025-10-04 09:29:05 +02:00

Web Crawler

Eine PHP-Anwendung mit MariaDB, die in Docker läuft.

Copyright © 2025 Martin Kiesewetter


Anforderungen

  • Docker
  • Docker Compose

Installation & Start

  1. Container starten:
docker-compose up -d
  1. Container stoppen:
docker-compose down
  1. Container neu bauen:
docker-compose up -d --build

Services

Datenbank Zugangsdaten

  • Host: mariadb
  • Datenbank: app_database
  • Benutzer: app_user
  • Passwort: app_password
  • Root Passwort: root_password

Struktur

.
├── docker-compose.yml      # Docker Compose Konfiguration
├── Dockerfile              # PHP Container Image
├── config/                 # Konfigurationsdateien
│   ├── docker/
│   │   ├── init.sql        # Datenbank Initialisierung
│   │   └── start.sh        # Container Start-Script (unused)
│   └── nginx/
│       └── default.conf    # Nginx Konfiguration
├── src/                    # Anwendungscode
│   ├── api.php
│   ├── index.php
│   ├── classes/
│   └── crawler-worker.php
├── tests/                  # Test Suite
│   ├── Unit/
│   └── Integration/
├── phpstan.neon            # PHPStan Konfiguration
└── phpcs.xml               # PHPCS Konfiguration

Entwicklung

Die Anwendungsdateien befinden sich im src/ Verzeichnis und werden als Volume in den Container gemountet, sodass Änderungen sofort sichtbar sind.

Tests & Code-Qualität

Unit Tests ausführen

Die Anwendung verwendet PHPUnit für Unit- und Integrationstests:

# Alle Tests ausführen
docker-compose exec php sh -c "php /var/www/html/vendor/bin/phpunit /var/www/tests/"

# Alternative mit Composer-Script
docker-compose exec php composer test

Die Tests befinden sich in:

  • tests/Unit/ - Unit Tests
  • tests/Integration/ - Integration Tests

Statische Code-Analyse mit PHPStan

PHPStan ist auf Level 8 (höchstes Level) konfiguriert und analysiert den gesamten Code:

# PHPStan ausführen
docker-compose exec php sh -c "php -d memory_limit=512M /var/www/html/vendor/bin/phpstan analyse -c /var/www/phpstan.neon"

# Alternative mit Composer-Script
docker-compose exec php composer phpstan

PHPStan Konfiguration:

  • Level: 8 (strictest)
  • Analysierte Pfade: src/ und tests/
  • Ausgeschlossen: vendor/ Ordner
  • Konfigurationsdatei: phpstan.neon

Code Style Prüfung mit PHP_CodeSniffer

PHP_CodeSniffer (PHPCS) prüft den Code gegen PSR-12 Standards:

# Code Style prüfen
docker-compose exec php composer phpcs

# Code Style automatisch korrigieren
docker-compose exec php composer phpcbf

PHPCS Konfiguration:

  • Standard: PSR-12
  • Analysierte Pfade: src/ und tests/
  • Ausgeschlossen: vendor/ Ordner
  • Auto-Fix verfügbar mit phpcbf
Description
No description provided
Readme 187 KiB
Languages
Hack 52.4%
PHP 46%
Dockerfile 1.5%
Shell 0.1%