feat: persist push subscriptions in sqlite
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m54s
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m54s
This commit is contained in:
@@ -25,6 +25,7 @@ Aplikacja pokazuje bieżącą analizę IMGW Hybrid, pomiary synoptyczne, prognoz
|
||||
- Recharts
|
||||
- Lucide React
|
||||
- `web-push`
|
||||
- SQLite przez `better-sqlite3` dla trwałego magazynu subskrypcji Web Push
|
||||
- własny service worker i manifest PWA
|
||||
|
||||
## Szybki Start
|
||||
@@ -50,6 +51,7 @@ WEB_PUSH_VAPID_PRIVATE_KEY=
|
||||
WEB_PUSH_VAPID_SUBJECT=mailto:admin@example.com
|
||||
NOTIFICATIONS_CRON_SECRET=
|
||||
WTR_APP_URL=http://127.0.0.1:3000
|
||||
WTR_DATABASE_PATH=./data/wtr.sqlite
|
||||
NOTIFICATIONS_WARNING_INTERVAL_MINUTES=5
|
||||
NOTIFICATIONS_MORNING_BRIEF_TIME=07:00
|
||||
NOTIFICATIONS_TOMORROW_BRIEF_TIME=18:00
|
||||
@@ -106,7 +108,7 @@ docs/ szczegółowa dokumentacja techniczna
|
||||
|
||||
## Status i Ograniczenia
|
||||
|
||||
- `lib/push-store.ts` przechowuje subskrypcje Web Push w pamięci procesu. Produkcyjne wdrożenie wymaga trwałego magazynu, np. bazy danych albo KV.
|
||||
- `lib/push-store.ts` przechowuje subskrypcje Web Push i historię wysyłek w lokalnym SQLite. Na self-hostingu zadbaj o trwały katalog dla `WTR_DATABASE_PATH` i backup pliku bazy.
|
||||
- Endpoint IMGW Hybrid używany przez dashboard pochodzi z publicznego frontendu `meteo.imgw.pl`, a nie ze stabilnie opisanej dokumentacji `danepubliczne.imgw.pl`.
|
||||
- Publiczne API IMGW potrafi zwrócić `404` z komunikatem `No products were found` dla pustych list ostrzeżeń; aplikacja traktuje to jako brak ostrzeżeń.
|
||||
- Prognoza jest prognozą modelową, nie pomiarem IMGW. Bieżące pomiary i prognozy są w UI rozdzielane.
|
||||
|
||||
Reference in New Issue
Block a user