Jednoplikowa aplikacja webowa (czysty HTML/JS, bez frameworków), planer wakacji po polsku. Pomaga wybrać i zaplanować wyjazd: 31 destynacji, każda z przewodnikiem (regiony, atrakcje z linkami do Map Google, hotele/restauracje z atrybucją, realne artykuły), kalkulatorem budżetu, filtrem „kiedy jedziesz?", listą rzeczy do spakowania i notatkami. Działa też offline (PWA).
Aplikacja to jeden plik wakacje-planer.html, ale PWA / service-worker działa tylko po HTTP
(nie z file://). Najprościej:
python -m http.server 8765
# otwórz http://127.0.0.1:8765/wakacje-planer.htmlRepo jest gotowe pod Cloudflare Pages. Mały krok budowania (scripts/cf-build.sh)
kopiuje tylko pliki aplikacji do dist/, dzięki czemu docs/, scripts/ i CLAUDE.md
NIE są publicznie serwowane na stronie:
- Cloudflare → Workers & Pages → Create → Pages → Connect to Git → wybierz to repo.
- Ustawienia budowania:
- Framework preset =
None - Build command =
bash scripts/cf-build.sh - Build output directory =
dist
- Framework preset =
- Deploy. Każdy
git pushnamainautomatycznie przebudowuje i publikuje stronę.
Plik _redirects (kopiowany do dist/) sprawia, że adres główny (/)
serwuje aplikację. Nie trzeba znać pełnej ścieżki /wakacje-planer.html.
wakacje-planer.html # CAŁA aplikacja (~670 KB): dane + UI + logika
manifest.json # PWA
service-worker.js # offline cache
icon.svg # ikona PWA
_redirects # Cloudflare: / -> aplikacja
scripts/ # narzędzia budowy/weryfikacji danych (Python)
integrate.py # JEDYNY bezpieczny sposób wstawiania danych destynacji
verify.py # kontrola integralności pliku (31==31, JS OK, brak duplikacji)
build_*.py # skrypty budujące dane per destynacja
docs/ # HANDOFF, PROGRESS, METHODOLOGY, SESSION_LOG, DESIGN_BRIEF
CLAUDE.md # dyrektywy dla sesji Claude Code
Dane destynacji (DESTINATIONS, DEST_DETAILS) są osadzone w wakacje-planer.html.
Nie edytuj ich ręcznie. Używaj scripts/integrate.py (ma asercje blokujące
uszkodzenie pliku). Szczegóły procesu: docs/METHODOLOGY.md.
Po każdej zmianie sprawdź integralność:
python scripts/verify.py- Wszystko po polsku, z pełnymi diakrytykami.
- Dane oparte o web research; niepewności są uczciwie flagowane (godziny, dostęp, sezon).