# PRD: PoDrodze — Aplikacja do planowania podróży grupowych

  • Autor: Kateryna Lytvyn (Frontend/PM)
  • Data: 2025-11-21
  • Status: Zaakceptowano
  • Zespół:
    • Kyrylo Riabchenko (Frontend)
    • Sebastian Wróblewski (Tester)
    • Mykyta Klymenko (Backend/DevOps)

# 1. Podsumowanie

PoDrodze to webowa aplikacja do wspólnego planowania podróży, umożliwiająca tworzenie wyjazdów, zapraszanie uczestników, ustalanie preferencji, głosowanie na miejsca oraz automatyczne generowanie planu zwiedzania. Aplikacja integruje dane lokalne (Google Places), preferencje użytkowników i rekomendacje AI („jakie miejsca warto odwiedzić”), aby pomóc grupom tworzyć dopasowane trasy.

Produkt jest przeznaczony dla osób planujących podróże w grupie, które chcą szybko ustalić plan, uniknąć chaosu decyzyjnego i mieć wszystko w jednym miejscu.


# 2. Opis Problemu

# Jaki problem rozwiązujemy?

Planowanie podróży grupowych jest trudne i chaotyczne: decyzje rozproszone są między komunikatory, wiadomości e-mail i aplikacje zewnętrzne. Trudno:

  • zebrać preferencje uczestników,
  • wybrać miejsca, które pasują całej grupie,
  • ustalić priorytety i kolejność zwiedzania,
  • stworzyć sensowny plan na każdy dzień podróży.

Brakuje jednego narzędzia, które integruje zaproszenia, wspólne decyzje, automatyczne rekomendacje i mapę wyjazdu.

# Dla kogo jest ten produkt?

Główna persona:

  • Organizator grupowej podróży (student, freelancer, członek rodziny), który chce zorganizować plan i zaprosić uczestników.

Poboczne persony:

  • Uczestnik wyjazdu, który chce zagłosować i zasugerować miejsca.
  • Turysta tematyczny, zainteresowany konkretnymi kategoriami (muzea, gastronomia, atrakcje).

# 3. Cele i Mierniki Sukcesu

# Cele projektu

  1. Ułatwienie użytkownikom wspólnego planowania podróży dzięki centralizacji decyzji i komunikacji.
  2. Umożliwienie personalizacji planu poprzez preferencje, głosy, miejsca stałe oraz rekomendacje AI.
  3. Automatyczne tworzenie planu zwiedzania dopasowanego do grupy.
  4. Zapewnienie administratorowi narzędzi do zarządzania użytkownikami i logami systemu.

# Mierniki sukcesu

  • WAU min. 100 w pierwszych miesiącach działania.
  • ≥ 60% użytkowników korzysta z rekomendacji AI.
  • Logowanie przez Facebook trwa krócej niż 5 sekund.
  • Zaproszenia do podróży przyjmowane przez ≥ 60% osób.

# 4. Wymagania i Zakres

# Kluczowe historyjki użytkownika

  • US-001: Jako użytkownik chcę stworzyć podróż, aby zaplanować wyjazd.
  • US-002: Jako użytkownik chcę zapraszać znajomych, aby współpracować przy planie.
  • US-003: Jako użytkownik chcę dodawać miejsca (z kategorii), aby budować listę punktów podróży.
  • US-004: Jako użytkownik chcę głosować na miejsca, aby grupa mogła ustalić priorytety.
  • US-005: Jako użytkownik chcę oznaczyć miejsce jako „stałe”, aby wszystkie osoby wiedziały, że jest obowiązkowe.
  • US-006: Jako użytkownik chcę ustawić swoje preferencje kategorii (np. muzea, gastronomia).
  • US-007: Jako użytkownik chcę wygenerować plan na dni, aby otrzymać uporządkowany itinerarz.
  • US-008: Jako użytkownik chcę otrzymać rekomendacje AI (np. „skoro lubisz sztukę, odwiedź Luwr”).
  • US-009: Jako użytkownik chcę logować się poprzez Facebooka, aby zrobić to szybciej.
  • US-010: Jako administrator chcę zarządzać użytkownikami.
  • US-011: Jako administrator chcę widzieć logi aplikacji.

# Zakres projektu

# W zakresie (In Scope)

  • Rejestracja i logowanie (e-mail + Facebook).
  • Tworzenie i edycja podróży.
  • Zapraszanie uczestników + zarządzanie statusami (accepted/declined).
  • Dodawanie miejsc (z Google Places).
  • Głosowanie na miejsca.
  • Miejsca „stałe” (hotel, lotnisko).
  • System preferencji użytkowników (wagi kategorii).
  • Integracja AI do generowania rekomendacji miejsc.
  • Generowanie itinerarza na dni.
  • Widok mapy z miejscami.
  • Panel administratora + logi systemowe.
  • Dokumentacja OpenAPI.
  • Separacja backend/frontend (REST API).

# Poza zakresem (Out of Scope)

  • Aplikacja mobilna.
  • Współpraca w czasie rzeczywistym (WebSockets) – planowane później.
  • Integracja z zewnętrznymi aplikacjami podróżniczymi.
  • Tryb offline.

# 5. Doświadczenie Użytkownika (UX) i Projekt Interfejsu (UI)

Link do projektu w Figmie: https://gclnk.com/sTD4KWoe

# Kluczowy przepływ (user flow)

  1. Rejestracja / Logowanie przez Facebook
  2. Utworzenie podróży
  3. Zaproszenie uczestników
  4. Dodanie miejsc (import z Google Places)
  5. Ustawienie preferencji kategorii
  6. Głosowanie na miejsca
  7. Otrzymanie rekomendacji AI
  8. Oznaczenie miejsc jako „stałe”
  9. Generacja itinerarza
  10. Podgląd trasy na mapie

# 6. Kwestie Techniczne

  • Frontend: Vue.js
  • Backend: Laravel (REST API)
  • Baza danych: PostgreSQL
  • Konteneryzacja: Docker
  • Integracje:
    • Google Places API (dane miejsc)
    • Facebook Login (OAuth)
    • AI / LLM (rekomendacje miejsc)
  • Dokumentacja: OpenAPI (konieczna)
  • Architektura: pełne rozdzielenie frontend-backend

# 7. Otwarte Pytania i Ryzyka

# Otwarte pytania:

  • Czy rekomendacje AI powinny uwzględniać również dane historyczne użytkownika?
  • Czy itinerarz ma umożliwiać ręczną edycję kolejności?

# Ryzyka:

  • Ograniczone zasoby developerskie mogą opóźnić wdrożenie panelu admina.
  • API Google Places może ograniczać ilość zapytań.
  • Integracja AI może wymagać dodatkowej optymalizacji kosztów.

# Plan mitygacji:

  • Ograniczenie MVP do najważniejszych funkcji (zaproszenia, głosy, miejsca, itinerarz).
  • Caching danych z Google Places.
  • Uproszczenie panelu admina .