# Wedding Project

Pierwsza produkcyjna baza platformy stron ślubnych dla wedding-project.zielinski.ie.

## Wymagania

- PHP 8.1+ z rozszerzeniem pdo_mysql
- MySQL 8 lub MariaDB 10.6+
- Nginx

## Instalacja na Hetzner

1. Wgraj katalog do /var/www/wedding-project.
2. Skopiuj .env.example jako .env i ustaw bazę danych oraz losowy APP_KEY.
3. Utwórz bazę i użytkownika MySQL, a następnie zaimportuj database.sql.
4. Ustaw właściciela plików: chown -R www-data:www-data /var/www/wedding-project.
5. Na obecnym serwerze skopiuj apache/wedding-project.conf do /etc/apache2/sites-available/ i włącz konfigurację.
6. Dodaj rekord DNS A: wedding-project kierujący na IP serwera.
7. Uruchom Certbot dla wedding-project.zielinski.ie.

Na etapie testowym projekty są dostępne w panelu. Do publicznych stron na osobnych adresach dodaj wildcard DNS:

*.wedding-project.zielinski.ie kierujący na IP serwera

oraz certyfikat wildcard uzyskany przez DNS challenge.

## Funkcje

- rejestracja i logowanie,
- wiele projektów na jednym koncie,
- unikalne adresy projektów,
- edycja danych i publikowanie,
- routing po subdomenie,
- publiczny formularz RSVP,
- lista odpowiedzi w panelu,
- CSRF, bezpieczne hashowanie haseł i przygotowane zapytania SQL.

## Panel administratora

Po pierwszej instalacji otwórz /admin/setup i utwórz konto głównego administratora.
Formularz konfiguracji wyłączy się automatycznie po utworzeniu pierwszego admina.
Panel jest dostępny pod /admin.

Jeśli baza była importowana ze starszej wersji, zaimportuj dodatkowo upgrade-v2-admin.sql.
