Priorytet A — brakujące podstawy SaaS
| # | Funkcja | Dlaczego |
|---|
| 1 | Dziennik zdarzeń (audit log) | Kto, kiedy, co zmienił — logowania, edycje userów, zmiany planów, usunięcia. Tabela audit_log + widok w adminie z filtrami |
| 2 | Centrum powiadomień (🔔 w topbarze) | Alerty z geofence, koniec trialu, płatności — teraz lądują tylko w emailach. Dzwoneczek z licznikiem + dropdown |
| 3 | TOTP 2FA z aplikacji (Google/Microsoft Authenticator) | DB już ma totp_secret, totp_backup_codes, twofa_method — brakuje tylko UI (QR do zeskanowania + weryfikacja). Jest już qrcode i otpauth w package.json |
| 4 | Generowanie faktur PDF | NIP i firma są zbierane, płatności są, ale faktur brak. pdfkit lub puppeteer → faktura po udanej płatności, download z panelu |
| 5 | Eksport danych użytkownika (RODO) | Już jest w adminie — brakuje dla użytkownika (prawo dostępu), przycisk „Pobierz moje dane” w Profilu |
| 6 | Usunięcie konta (RODO) | Obowiązek prawny — self-service w Profilu z potwierdzeniem hasła, kasuje usera i kaskadowo trackery |
🚗 Priorytet B — użyteczne dla floty
| # | Funkcja | Dlaczego |
|---|
| 7 | Grupy trackerów (floty) | Kategoryzacja: „Ciężarówki”, „Osobowe”. Filtrowanie na mapie, raporty per grupa |
| 8 | Analityka zachowania kierowcy | Z posiadanych danych GPS: przyspieszenia, ostre hamowanie, przekroczenia prędkości, ranking trackerów |
| 9 | Scheduled reports | Raporty PDF co tydzień/miesiąc automatycznie na email (cron + pdfkit) — już jest /reports, brakuje scheduler |
| 10 | Księga serwisowa pojazdu | Historia przeglądów/napraw/tankowań per tracker + przypomnienia o terminach (OC, przegląd, wymiana oleju) |
| 11 | POI / książka adresów | Zapisane miejsca na mapie (dom, biuro, magazyn) — dropdown w widoku i w alertach |
🛡️ Priorytet C — bezpieczeństwo / ops
| # | Funkcja | Dlaczego |
|---|
| 12 | Dziennik nieudanych prób logowania | Tabela failed_logins z IP + user-agent, panel admina z filtrami i opcją blokady IP |
| 13 | IP whitelist dla panelu admina | Middleware sprawdzający req.ip przed requireAdmin — ochrona przed brute-force |
| 14 | Log viewer w adminie | Tailowanie docker logs backend przez web UI — diagnostyka bez SSH. Express SSE + docker logs --tail --follow |
| 15 | Status monitoring | Widget w AdminDashboard: MQTT żyje? Redis ping? gps-server na porcie 5001 odpowiada? |
🔌 Priorytet D — integracje
| # | Funkcja | Dlaczego |
|---|
| 16 | Menedżer webhooków | User konfiguruje URL + eventy (pozycja, alert, geofence enter/exit). Już jest /webhooks dla Stripe — rozszerzyć na customowe |
| 17 | API rate limit per klucz + dashboard zużycia | Wykres wywołań / 24h per klucz w AdminApiKeys |
| 18 | Tracker sharing przez link + token | Jest /share/:token — brakuje UI generowania z wyborem długości (1h / 1d / tydzień) i ograniczeń (read-only mapa / z historią) |
| 19 | Offline mapy na Androidzie | mapbox-sdk-js lub tile cache — dla terenów bez zasięgu |
📱 Priorytet E — UX / wygląd
| # | Funkcja | Dlaczego |
|---|
| 20 | Responsywny dashboard mobile | Obecny jest desktop-only — hamburger menu, stackowane karty |
| 21 | Wielojęzyczność (PL/EN/DE) | Android już ma i18n.js, browser tylko PL — i18next + selektor w navbarze |
| 22 | Broadcast do użytkowników | Admin wysyła komunikat (baner pod topbarem lub toast) do wszystkich — np. planowana konserwacja |
| 23 | Custom ikony trackerów | User wybiera emoji/kolor per tracker → widoczne na mapie zamiast domyślnego pina |
💰 Priorytet F — monetyzacja
| # | Funkcja | Dlaczego |
|---|
| 24 | Program partnerski / referrals | Link z kodem, po rejestracji → -10% dla polecającego i nowego. Tabela referrals, rozliczenie miesięczne |
| 25 | Wielowalutowość | Kolumna currency w subscription_plans, exchange rate z NBP API, automatyczna konwersja |
| 26 | Kupony rabatowe | Panel admina: utwórz kupon -20% na pierwszy rok, sprawdzenie przy checkout |
Moja rekomendacja — next 3
Gdybym miał wybrać trzy na ten tydzień:
- Audit log (#1) — dziwnie, że go jeszcze nie ma; przy wielu adminach/resellerach konieczny
- Centrum powiadomień (#2) — realnie poprawia codzienne używanie (alerty lądują tylko w emailu)
- TOTP 2FA UI (#3) — DB już wszystko ma, to „tylko” 2 ekrany: włączenie z QR + weryfikacja przy logowaniu
Albo jeden konkretny biznesowy: faktury PDF (#4) — bez tego nie sprzedasz polskim firmom w ogóle.
Który klocek robimy?