IleStoi.pl to lokalna aplikacja mapowa do dokumentowania pojazdow zalegajacych w przestrzeni publicznej. Wynik aplikacji jest materialem pomocniczym do weryfikacji, a nie decyzja o stanie prawnym pojazdu.
Aktualne wydanie: v4.0.
Status projektu: wersja utrzymaniowa. Repo zostaje odchudzone do kodu, testow i podstawowej dokumentacji potrzebnej do uruchomienia, backupu i pozniejszego serwisu.
To poboczny projekt o niskim priorytecie, utrzymywany glownie jako prywatna mapa uzupelniana podczas spacerow. Kolejne prace wybieramy wedlug stosunku zysku do nakladu, a nie dla samego domkniecia wszystkich mozliwych usprawnien.
- Zachowywac sprawdzony stan na
work/dirty; przed checkpointem uruchamiacscripts/check.sh. - Po wiekszej sesji dodawania zdjec wykonywac
make backup-restic. Tygodniowy timer utrzymuje 8 kopii tygodniowych i 6 miesiecznych. - Nie dodawac nowych funkcji bez konkretnej potrzeby wynikajacej z korzystania z mapy.
- Raz na kilka miesiecy skopiowac zaszyfrowane repozytorium Restic na osobny
nosnik i sprawdzic kopie; haslo przechowywac osobno. Przy tej okazji wykonac
pelny
restic check --read-datai izolowana probe restore. - Przy kolejnej zmianie ZIP ujednolicic
BACKUP_DIRz katalogiem kopii stanu sprzed restore; obecnie niestandardowyBACKUP_DIRdotyczy tworzenia i listy. - Przy okazji zmian uslugi dodac produkcyjny
EnvironmentFile,UMask=0077,NoNewPrivileges=true,PrivateTmp=truei trwaly sekret sesji. - Utrzymywac DNS starych hostow
wreckscanner.pl,dlugostoi.pli ich wariantowwww, aby stale przekierowywaly do kanonicznegoilestoi.pl. - Przygotowac squash na
maini tag dopiero przy swiadomym kolejnym wydaniu.
- Zautomatyzowac kopie off-host, monitoring wieku backupu i okresowy restore.
- Usunac
'unsafe-inline'z CSP. - Dalej podnosic coverage, dzielic wieksze moduly i optymalizowac UX na podstawie realnych problemow uzytkownikow.
Wspierany runtime to Python 3.11-3.13. Node.js 20+ jest potrzebny tylko do
kontroli frontendu; CI uzywa Node.js 22. Przygotowanie lokalnego srodowiska:
cd /home/test/Desktop/WreckScanner
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements-dev.txt
npm ciReczne uruchomienie na hoscie bez aktywnego supervisora:
cd /home/test/Desktop/WreckScanner
./.venv/bin/python server.pyAplikacja dziala pod:
http://127.0.0.1:8001
make help wykrywa lokalny watcher albo produkcyjny wreckscanner.service.
Polecenia zmieniajace proces przez make sa tylko dla watchera; na systemd
koncza sie bezpiecznym bledem z poprawna komenda operatorska. Szczegoly sa w
docs/START.md.
- mapa Leaflet z podkladami
POL,OSMoraz rocznikami Wroclawia2020-2025, - zdjecia terenowe w SQLite z typem obserwacji, lokalizacja, kolejka zatwierdzania, anonimizacja i publicznymi kopiami bez EXIF,
- warstwa pojazdow budowana z zatwierdzonych zdjec terenowych, z recznym statusem OC/UFG dla grupy wraku,
- automatyczne miniatury historyczne pobierane z WMS podczas generowania zgloszenia,
- raporty PDF generowane na zadanie z wybranych zdjec terenowych, bez zapisu stalego rekordu sprawy,
- panel administratora dla zdjec, zgloszen prywatnosci, retencji oryginalow i widocznosci warstw,
- warstwa dzialek KIEG/EGiB,
- lokalny backup danych przez
restic.
Publiczne API zwraca tylko public_image i public_thumb; nie zwraca lokalnych sciezek ani prywatnych oryginalow. Oryginaly sa dostepne tylko przez endpointy administracyjne. Publiczne kopie zdjec sa publikowane dopiero po review i anonimizacji.
Haslo administratora pochodzi z WRECKSCANNER_ADMIN_PASSWORD albo z lokalnego pliku .admin_password. Plik jest ignorowany przez Git.
- docs/START.md - uruchamianie, zatrzymanie, smoke test i haslo administratora.
- docs/CURRENT_MODEL.md - aktualny model danych, endpointy i audyt braku starych artefaktow.
- docs/DATABASE.md - aktualny kontrakt SQLite, migracje i walidacja integralnosci.
- docs/PUBLIC_RUNTIME.md - porty publicznych uslug i konfiguracja Cloudflare Tunnel.
- docs/BACKUP.md - lokalny backup i restore danych.
- docs/DEPLOY.md - produkcyjny deploy, sekrety, systemd i rollback.
mainjest linia release-only: jeden commitRelease vX.Y baselinena wydanie i pasujacy tag, np.v3.1.work/dirtyjest galezia robocza do codziennego rozwoju, poprawek i eksperymentow.- Po weryfikacji stan z
work/dirtytrafia namainjako squash release baseline.
Te katalogi i pliki sa lokalna baza aplikacji albo cache i nie powinny trafic do repozytorium:
analiza/- lokalne raporty diagnostyczne uruchamiane przezscripts/check.sh,wreckscanner.sqlite3- aktywny stan aplikacji: zdjecia terenowe, ustawienia i zgloszenia prywatnosci,zdjecia_terenowe/- publiczne pochodne zdjec terenowych i katalogi plikow,prywatne_zdjecia/- prywatne oryginaly zdjec,zgloszenia_prywatnosci/isettings.json- historyczny/importowy format JSON,.cache/i.backups/- cache oraz lokalne repozytorium backupu.
prywatne_zgloszenia/ to wycofany katalog starych, trwale zapisanych pakietow
raportow. Nie jest aktywnym storage aplikacji; scripts/diagnose_data.py traktuje
jego obecnosc jako blad danych przed release candidate.
scripts/check.sh
make smoke
make e2e-reportscripts/check.sh uruchamia compile, Ruff, testy, frontend lint, diagnostyki i git diff --check. make smoke sprawdza dzialajacy serwer, a make e2e-report wykonuje przeplyw upload -> review -> mapa -> raport PDF z OC/UFG.