ByTheWay
Transkrypt
ByTheWay
ByTheWay - specyfikacja Strona: 1 ByTheWay Specyfikacja oprogramowania Dotyczy: Program Operacyjny Innowacyjna Gospodarka Działanie 8.1 „Wspieranie działalności w dziedzinie gospodarki elektronicznej” Wniosek o dofinansowanie nr WND-POIG.08.01.00-14-856/12 pn. „Stworzenie kompleksowej społecznościowej platformy komunikacyjnej umożliwiającej carpooling w zakresie transportu osób i przesyłek z wykorzystaniem technologii mobilnych” Umowa o dofinansowanie nr UDA-POIG.08.01.00-14-856/12-00 z dnia 20.05.2013 r. ByTheWay - specyfikacja Strona: 2 Spis treści Model ......................................................................................................................... 4 Diagram klas ........................................................................................................... 4 Słownik ................................................................................................................. 4 Aktorzy systemu ................................................................................................. 4 Pojecia dziedziny ............................................................................................... 5 Grupy .............................................................................................................. 6 Grupa ............................................................................................................. 7 Grupa prywatna.............................................................................................. 8 Lista grup ..................................................................................................... 10 Lista grup prywatnych .................................................................................. 10 Mail .............................................................................................................. 11 Mail grupowy ................................................................................................ 12 Odpowiedź ................................................................................................... 12 Panel zarządzania użytkownikami grupy prywatnej ..................................... 13 Post .............................................................................................................. 14 Statystyki grupy prywatnej............................................................................ 15 Przejazdy ...................................................................................................... 15 Dostepny przejazd ....................................................................................... 16 Paczka ......................................................................................................... 17 Przejazd ....................................................................................................... 17 Przejazd cykliczny ........................................................................................ 18 Użytkownicy .................................................................................................. 19 Administrator ................................................................................................ 20 Prawa użytkownika ...................................................................................... 21 Profil użytkownika ........................................................................................ 22 Reklamodawca............................................................................................. 22 System płatniczy .......................................................................................... 23 Użytkownik ................................................................................................... 24 Użytkownik premium .................................................................................... 25 Użytkownik zarejestrowany .......................................................................... 26 Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych 27 Weryfikacja użytkownika .............................................................................. 28 Wiadomość .................................................................................................. 29 Wiadomość grupowa .................................................................................... 29 Wygląd strony ............................................................................................... 30 Aktualności ................................................................................................... 31 Baner reklamowy ......................................................................................... 31 Lista aktualnie dodanych reklam .................................................................. 32 Panel z reklamami........................................................................................ 33 Podstrona ..................................................................................................... 34 Reklama ....................................................................................................... 34 Strona główna .............................................................................................. 35 Zaawansowane statystyki ............................................................................ 36 Diagram stanów .................................................................................................... 36 ByTheWay - specyfikacja Strona: 3 Model projektowy .................................................................................................. 36 Diagram przypadków użycia ................................................................................. 36 Diagram przypadków użycia ............................................................................... 39 Dodaj grupę ....................................................................................................... 41 Dodaj nową trasę do obserwowanych ............................................................... 41 Dodaj post ......................................................................................................... 42 Dodaj przejazd................................................................................................... 43 Dodaj przejazd cykliczny ................................................................................... 44 Dodaj reklamę ................................................................................................... 45 Dodaj trase do obserwowanych......................................................................... 46 Dodaj użytkownika grupy prywatnej .................................................................. 46 Dodaj widget ...................................................................................................... 47 Edytuj aktualności.............................................................................................. 48 Edytuj prawa użytkownika grupy prywatnej ....................................................... 49 Edytuj reklamę ................................................................................................... 49 Edytuj zawartość strony ..................................................................................... 50 Edytój post ......................................................................................................... 51 Modyfikuj widget ................................................................................................ 52 Oceń użytkownika ............................................................................................. 52 Pobierz informacji o dokonanych wpłatach ........................................................ 53 Przeglądaj listę przejazdów dokonanych ........................................................... 54 Przeglądaj listę przejazdów zarezerwowanych.................................................. 55 Przeglądaj profil ................................................................................................. 55 Przejrzenie informacji o dokonanych wpłatach .................................................. 57 Przejrzyj szczegóły przejazdu............................................................................ 58 Usuń grupę ........................................................................................................ 59 Usuń grupę prywatną ........................................................................................ 60 Usuń post .......................................................................................................... 60 Usuń reklamę .................................................................................................... 61 Usuń trasę z obserwowanych ............................................................................ 62 Usuń użytkownika grupy prywatnej ................................................................... 62 Usuń wiadomość ............................................................................................... 63 Usuń widget ....................................................................................................... 64 Utwórz grupę prywatną ...................................................................................... 65 Weryfikuj ............................................................................................................ 65 Wyslij prośbę o dodanie do grupy...................................................................... 66 Wyswietl grupy .................................................................................................. 67 Wyswietl listę grup prywatnych .......................................................................... 68 Wyswietl posty grupy ......................................................................................... 69 Wyszukaj przejazdów ........................................................................................ 70 Wyszukaj przejazdów zaawansowanych ........................................................... 71 Wyślij mail do uzytkownika ................................................................................ 72 Wyślij mail do użytkownika ................................................................................ 73 Wyślij prośbę o dodanie do grupy prywatnej ..................................................... 73 Wyślij wiadomość do grupy prywatnej ............................................................... 74 Wyświetl archiwalne posty grupy ....................................................................... 75 ByTheWay - specyfikacja Strona: 4 Wyświetl archiwalny post z odpowiedziami ....................................................... 76 Wyświetl liste otrzymanych wiadomości ............................................................ 77 Wyświetl listę grup ............................................................................................. 78 Wyświetl listę obserwowanych tras ................................................................... 79 Wyświetl listę widgetów ..................................................................................... 80 Wyświetl panel zarządzania użytkownikami grupy prywatnej ............................ 81 Wyświetl post z odpowiedziami ......................................................................... 82 Wyświetl post z odpowiedziami ......................................................................... 83 Wyświetl posty grupy ......................................................................................... 85 Wyświetl posty grupy prywatnej......................................................................... 86 Wyświetl statystyki grupy prywatnej .................................................................. 87 Zaakceptuj weryfikację użytkownika .................................................................. 88 Zaloguj się ......................................................................................................... 89 Zapłać za reklamę ............................................................................................. 89 Zarezerwuj przejazd .......................................................................................... 90 Zarezerwuj trasę ................................................................................................ 91 Zobacz listę reklam............................................................................................ 92 Zobacz profil użytkownika ................................................................................. 93 Zobacz statystyki ............................................................................................... 94 Użytkownicy ........................................................................................................ 94 Administrator ..................................................................................................... 95 Przewoźnik komercyjny ..................................................................................... 97 Reklamodawca .................................................................................................. 97 System płatniczy................................................................................................ 98 Użytkownik ........................................................................................................ 99 Użytkownik zajerestrowany ............................................................................. 100 Użytkownik premium ....................................................................................... 102 Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych ...... 103 ByTheWay - specyfikacja Model Type: Status: Package: Package Proposed. Version . Phase 1.0. Diagram klas Type: Status: Package: Słownik Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Model Package Proposed. Version 1.0. Phase 1.0. Diagram klas Aktorzy systemu Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Słownik Aktorzy systemu - (Use Case diagram) Strona: 5 ByTheWay - specyfikacja Strona: 6 uc Aktorzy systemu Użytkow nik Administrator (from Użytkownicy) (from Użytkownicy) Użytkow nik zaj erestrow any (from Użytkownicy) Użytkow nik zarej estrow any z w ykupiną opcj ą (from tw orzenia grup pryw atnych Użytkow nik premium Użytkownicy) Reklamodaw ca (from Użytkownicy) (from Użytkownicy) Figure: 1 Pojecia dziedziny Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Słownik Słownik - (Class diagram) ByTheWay - specyfikacja Strona: 7 Figure: 2 Grupy Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Pojecia dziedziny Grupy - (Package diagram) ByTheWay - specyfikacja Strona: 8 pkg Grupy Lista grup Mail Lista grup pryw atnych Grupa pryw atna Grupa Mail grupow y Post Odpow iedź Figure: 3 Grupa Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Panel zarządzania użytkow nikami grupy pryw atnej Statystyki grupy pryw atnej ByTheWay - specyfikacja Connections Connector Source Aggregation Public Source -> Destination Post Strona: 9 Target Public Grupa Generalization Public Source -> Destination Grupa prywatna Public Grupa Aggregation Public Source -> Destination Grupa Public Lista grup Association Unspecified Public Grupa Public Mail Notes Grupa prywatna Type: Status: Package: Class Grupa Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Source Generalization Public Source -> Destination Grupa prywatna Aggregation Public Source -> Destination Grupa prywatna Target Public Grupa Public Lista grup prywatnych Notes ByTheWay - specyfikacja Strona: 10 Connector Source Target Association Unspecified Public Mail grupowy Public Grupa prywatna Association Unspecified Public Statystyki grupy prywatnej Public Grupa prywatna Association Unspecified Public Panel zarządzania użytkownikami grupy prywatnej Public Grupa prywatna Notes Lista grup Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Source Aggregation Public Source -> Destination Grupa Target Public Lista grup Notes ByTheWay - specyfikacja Strona: 11 Lista grup prywatnych Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Source Aggregation Public Source -> Destination Grupa prywatna Target Public Lista grup prywatnych Mail Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Notes ByTheWay - specyfikacja Connections Connector Association Unspecified Source Public Mail Strona: 12 Target Public Grupa Notes Mail grupowy Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Association Unspecified Source Public Mail grupowy Odpowiedź Type: Class Target Public Grupa prywatna Notes ByTheWay - specyfikacja Status: Package: Strona: 13 Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Source Aggregation Public Source -> Destination Odpowiedź Target Public Post Panel zarządzania użytkownikami grupy prywatnej Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Notes ByTheWay - specyfikacja Connections Connector Association Unspecified Source Public Panel zarządzania użytkownikami grupy prywatnej Strona: 14 Target Public Grupa prywatna Notes Post Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Connections Connector Source Aggregation Public Source -> Destination Post Aggregation Public Source -> Destination Odpowiedź Statystyki grupy prywatnej Type: Class Target Public Grupa Public Post Notes ByTheWay - specyfikacja Status: Package: Connections Connector Association Unspecified Strona: 15 Proposed. Version 1.0. Phase 1.0. Grupy Keywords: Source Public Statystyki grupy prywatnej Target Public Grupa prywatna Przejazdy Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Pojecia dziedziny Przejazdy - (Package diagram) Notes ByTheWay - specyfikacja Strona: 16 pkg Przej azdy Przej azd Paczka Dostepny przej azd Przej azd cykliczny Figure: 4 Dostepny przejazd Type: Status: Package: Connections Connector Association Unspecified Class Proposed. Version 1.0. Phase 1.0. Przejazdy Keywords: Source Public Dostepny przejazd Target Public Przejazd Notes ByTheWay - specyfikacja Connector Source Strona: 17 Target Paczka Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Przejazdy Keywords: Przejazd Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Przejazdy Keywords: Notes ByTheWay - specyfikacja Strona: 18 Connections Connector Association Unspecified Source Public Dostepny przejazd Target Public Przejazd Association Unspecified Public Przejazd cykliczny Public Przejazd Notes Przejazd cykliczny Type: Status: Package: Connections Connector Association Unspecified Class Proposed. Version 1.0. Phase 1.0. Przejazdy Keywords: Source Public Przejazd cykliczny Target Public Przejazd Notes ByTheWay - specyfikacja Strona: 19 Użytkownicy Package Proposed. Version 1.0. Phase 1.0. Pojecia dziedziny Type: Status: Package: Użytkownicy - (Package diagram) pkg Użytkow nicy Praw a użytkow nika Wiadomość Administrator Użytkow nik Profil użytkow nika System płatniczy Użytkow nik zarej estrow any Weryfikacj a użytkow nika Użytkow nik premium Reklamodaw ca Figure: 5 Administrator Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Użytkow nik zarej estrow any z w ykupioną opcj ą tw orzenia grup pryw atnych Wiadomość grupow a ByTheWay - specyfikacja Strona: 20 Connections Connector Association Unspecified Source Public Administrator Target Public Wiadomość Association Unspecified Public Administrator Public System płatniczy Notes Prawa użytkownika Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source Aggregation Public Source -> Destination Prawa użytkownika Target Public Użytkownik Notes ByTheWay - specyfikacja Strona: 21 Profil użytkownika Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source Aggregation Public Source -> Destination Profil użytkownika Target Public Użytkownik Reklamodawca Type: Status: Package: Class Użytkownik zarejestrowany Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Generalization Public Source -> Destination Reklamodawca Strona: 22 Target Public Użytkownik zarejestrowany Notes System płatniczy Type: Status: Package: Connections Connector Association Unspecified Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Source Public Administrator Target Public System płatniczy Notes ByTheWay - specyfikacja Strona: 23 Użytkownik Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source Generalization Public Source -> Destination Użytkownik zarejestrowany Target Public Użytkownik Aggregation Public Source -> Destination Profil użytkownika Public Użytkownik Aggregation Public Source -> Destination Prawa użytkownika Public Użytkownik Association Unspecified Public Użytkownik Public Wiadomość Użytkownik premium Type: Status: Package: Class Użytkownik zarejestrowany Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Generalization Public Source -> Destination Użytkownik premium Association Unspecified Public Weryfikacja użytkownika Strona: 24 Target Public Użytkownik zarejestrowany Notes Public Użytkownik premium Użytkownik zarejestrowany Type: Status: Package: Connections Connector Class Użytkownik Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Source Target Notes ByTheWay - specyfikacja Strona: 25 Connector Source Generalization Public Source -> Destination Użytkownik zarejestrowany Target Public Użytkownik Generalization Public Source -> Destination Użytkownik premium Public Użytkownik zarejestrowany Generalization Public Source -> Destination Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych Public Użytkownik zarejestrowany Generalization Public Source -> Destination Reklamodawca Public Użytkownik zarejestrowany Notes Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych Type: Status: Package: Class Użytkownik zarejestrowany Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source Generalization Public Source -> Destination Użytkownik Target Public Użytkownik Notes ByTheWay - specyfikacja Connector Source zarejestrowany z wykupioną opcją tworzenia grup prywatnych Aggregation Public Source -> Destination Wiadomość grupowa Strona: 26 Target zarejestrowany Notes Public Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych Weryfikacja użytkownika Type: Status: Package: Connections Connector Association Unspecified Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Source Public Weryfikacja użytkownika Target Public Użytkownik premium Notes ByTheWay - specyfikacja Strona: 27 Wiadomość Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Association Unspecified Source Public Wiadomość Target Public Użytkownik Association Unspecified Public Administrator Public Wiadomość Wiadomość grupowa Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Notes ByTheWay - specyfikacja Strona: 28 Connections Connector Source Aggregation Public Source -> Destination Wiadomość grupowa Target Public Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych Notes Wygląd strony Package Proposed. Version 1.0. Phase 1.0. Pojecia dziedziny Type: Status: Package: Wygląd strony - (Package diagram) pkg Wygląd strony Zaaw ansow ane statystyki Baner reklamow y Aktualności Panel z reklamami Podstrona Strona głów na Reklama Figure: 6 Lista aktualnie dodanych reklam ByTheWay - specyfikacja Strona: 29 Aktualności Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Baner reklamowy Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Connections Connector Source Aggregation Public Source -> Destination Reklama Target Public Baner reklamowy Notes ByTheWay - specyfikacja Strona: 30 Lista aktualnie dodanych reklam Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Connections Connector Source Aggregation Public Source -> Destination Reklama Target Public Lista aktualnie dodanych reklam Panel z reklamami Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Aggregation Public Source -> Destination Reklama Strona: 31 Target Public Panel z reklamami Podstrona Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Reklama Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Aggregation Public Source -> Destination Reklama Strona: 32 Target Public Panel z reklamami Aggregation Public Source -> Destination Reklama Public Lista aktualnie dodanych reklam Aggregation Public Source -> Destination Reklama Public Baner reklamowy Strona główna Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Notes ByTheWay - specyfikacja Zaawansowane statystyki Type: Status: Package: Class Proposed. Version 1.0. Phase 1.0. Wygląd strony Keywords: Diagram stanów Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Model Model projektowy Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Model Strona: 33 ByTheWay - specyfikacja Diagram przypadków użycia Type: Status: Package: Package Proposed. Version . Phase 1.0. Model Use Case Model - (Use Case diagram) Strona: 34 ByTheWay - specyfikacja Strona: 35 ByTheWay - specyfikacja Strona: 36 Figure: 7 Diagram przypadków użycia Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Primary Use Cases - (Use Case diagram) uc Primary Use Cases 4 kola The System Boundary shows the logical interface between users and the system being described. Wyszukaj przej azdów Użytkow nik Usuń trasę z obserw ow anych Dodaj now ą trasę do obserw ow anych «invokes» «invokes» Wyśw ietl listę obserw ow anych tras Oceń użytkow nika Usuń w iadomość «invokes» Przeglądaj listę przej azdów dokonanych «invokes» Reklamodaw ca «invokes» Wyślij mail do uzytkow nika Wyśw ietl liste otrzymanych w iadomości «invokes» «invokes» Zapłać za reklamę «invokes» «include» Przeglądaj profil Zaloguj się «invokes» Dodaj reklamę «invokes» Przeglądaj listę przej azdów zarezerw ow anych «invokes» «invokes» Przej rzyj szczegóły przej azdu Zobacz profil użytkow nika «invokes» Edytuj reklamę Zobacz listę reklam «invokes» «invokes» «invokes» Wyszukaj przej azdów zaaw ansow anych «invokes» Usuń reklamę Użytkow nik zaj erestrow any «invokes» Zarezerw uj przej azd Dodaj przej azd cykliczny Wyśw ietl listę grup Wyslij prośbę o dodanie do grupy «invokes» Dodaj przej azd «invokes» «invokes» Wyśw ietl statystyki grupy pryw atnej «invokes» Wyślij prośbę o dodanie do grupy pryw atnej «invokes» «invokes» Użytkow nik zarej estrow any z w ykupiną opcj ą tw orzenia grup pryw atnych Wyślij w iadomość do grupy pryw atnej Wyśw ietl posty grupy Dodaj trase do obserw ow anych «invokes» Usuń grupę pryw atną Wyśw ietl archiw alne posty grupy «invokes» Wyśw ietl posty grupy pryw atnej «invokes» «invokes» «invokes» Wyślij mail do użytkow nika «invokes» Wyśw ietl post z odpow iedziami «invokes» «invokes» Edytuj praw a użytkow nika grupy pryw atnej Wyśw ietl archiw alny post z odpow iedziami «invokes» Wysw ietl listę grup pryw atnych «invokes» «invokes» «invokes» Dodaj post «invokes» Zarezerw uj trasę Wyśw ietl panel zarządzania użytkow nikami grupy pryw atnej «invokes» «invokes» «invokes» Dodaj użytkow nika grupy pryw atnej «invokes» «invokes» Utw órz grupę pryw atną Usuń użytkow nika grupy pryw atnej Edytój post «invokes» Wysw ietl posty grupy «invokes» Zobacz statystyki «invokes» «invokes» Wyśw ietl post z odpow iedziami Wysw ietl grupy Usuń grupę «invokes» «invokes» «invokes» Usuń post Administrator Zaakceptuj w eryfikacj ę użytkow nika Usuń w idget Dodaj grupę «invokes» Wyśw ietl listę w idgetów «invokes» Edytuj aktualności Edytuj zaw artość strony Dodaj w idget «invokes» Przej rzenie informacj i o dokonanych w płatach Modyfikuj w idget Użytkow nik premium Weryfikuj Pobierz informacj i o dokonanych w płatach System płatniczy Figure: 8 Dodaj grupę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyswietl grupy Strona: 37 Target Public Dodaj grupę Notes Dodaj nową trasę do obserwowanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl listę obserwowanych tras Target Notes Public Dodaj nową trasę do obserwowanych ByTheWay - specyfikacja Strona: 38 Dodaj post Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy Target Public Dodaj post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Dodaj post Dependency Public Source -> Destination Wyswietl posty grupy Public Dodaj post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Dodaj post Dodaj przejazd Type: Status: UseCase Proposed. Version 1.0. Phase 1.0. Notes ByTheWay - specyfikacja Package: Diagram przypadków użycia Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik zajerestrowany Dependency Public Source -> Destination Wyświetl posty grupy Strona: 39 Keywords: Target Public Dodaj przejazd Notes Public Dodaj przejazd Dodaj przejazd cykliczny Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Przejazd realizowany okresowo, np poniedziałek - piątek, każda niedziela. ByTheWay - specyfikacja Connections Connector Association Unspecified Strona: 40 Source Public Użytkownik zajerestrowany Target Public Dodaj przejazd cykliczny Dependency Public Source -> Destination Wyświetl posty grupy Public Dodaj przejazd cykliczny Notes Dodaj reklamę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Reklamodawca] dodaje nową [reklamę] która zostanie wyświetlona na [panelu reklamowym] lub jako [baner reklamowy]. Connections Connector Source Dependency Public Source -> Destination Zobacz listę reklam Include Public Source -> Destination Dodaj reklamę Target Public Dodaj reklamę Public Zapłać za reklamę Notes ByTheWay - specyfikacja Strona: 41 Dodaj trase do obserwowanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl post z odpowiedziami Target Public Dodaj trase do obserwowanych Dodaj użytkownika grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Strona: 42 Target Public Dodaj użytkownika grupy prywatnej Notes Dodaj widget Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl listę widgetów Target Public Dodaj widget Notes ByTheWay - specyfikacja Strona: 43 Edytuj aktualności Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Administrator ma możliwość edycji [aktualności] na [stronie głównej]. Connections Connector Association Unspecified Source Public Administrator Target Public Edytuj aktualności Edytuj prawa użytkownika grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Strona: 44 Target Public Edytuj prawa użytkownika grupy prywatnej Notes Edytuj reklamę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Reklamodawca] edytuje informacje zawarte w [reklamie]. Connections Connector Source Dependency Public Source -> Destination Zobacz listę reklam Target Public Edytuj reklamę Notes ByTheWay - specyfikacja Strona: 45 Edytuj zawartość strony Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Administrator] może zmienić zawartość [strony głównej] i [podstron]. Connections Connector Association Unspecified Source Public Edytuj zawartość strony Target Public Administrator Edytój post Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl post z odpowiedziami Dependency Public Source -> Destination Wyświetl post z odpowiedziami Strona: 46 Target Public Edytój post Notes Public Edytój post Modyfikuj widget Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl listę Target Public Modyfikuj widget Notes ByTheWay - specyfikacja Connector Source widgetów Strona: 47 Target Notes Oceń użytkownika Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Po każdym przejeździe użytkownik ma możliwość ocenienia danego użytkownika Connections Connector Source Dependency Public Source -> Destination Przeglądaj listę przejazdów dokonanych Target Public Oceń użytkownika Notes Pobierz informacji o dokonanych wpłatach Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: System płatniczy pobiera informacje o dokonanych wpłatach. Lista dokonanych wpłat zawiera ByTheWay - specyfikacja Strona: 48 dane użytkownika zarejestrowanego: czas wpłaty ( w tym data i godzina), rodzaj usługi za jaką dokonywana jest wpłata oraz wysokość wpłaty. Następnie system wysyła listę dokonanych wpłat po czym ją czyści. Connections Connector Association Unspecified Source Public System płatniczy Target Public Pobierz informacji o dokonanych wpłatach Przeglądaj listę przejazdów dokonanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Przeglądaj profil Dependency Public Source -> Destination Przeglądaj listę przejazdów dokonanych Strona: 49 Target Public Przeglądaj listę przejazdów dokonanych Notes Public Oceń użytkownika Przeglądaj listę przejazdów zarezerwowanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Przeglądaj profil Dependency Public Source -> Destination Przeglądaj listę przejazdów zarezerwowanych Target Public Przeglądaj listę przejazdów zarezerwowanych Public Przejrzyj szczegóły przejazdu Notes ByTheWay - specyfikacja Connector Source Strona: 50 Target Notes Przeglądaj profil Type: Status: Package: Connections Connector Association Unspecified UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Source Public Użytkownik zajerestrowany Target Public Przeglądaj profil Dependency Public Source -> Destination Przeglądaj profil Public Przeglądaj listę przejazdów dokonanych Dependency Public Source -> Destination Przeglądaj profil Public Przeglądaj listę przejazdów zarezerwowanych Dependency Public Source -> Destination Przeglądaj profil Public Wyświetl listę obserwowanych tras Dependency Public Public Notes ByTheWay - specyfikacja Connector Source Source -> Destination Przeglądaj profil Strona: 51 Target Wyświetl liste otrzymanych wiadomości Notes Przejrzenie informacji o dokonanych wpłatach Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Administrator] przegląda [listę dokonanych wpłat]. Connections Connector Association Unspecified Source Public Administrator Association Public Source -> Destination Przejrzenie informacji o dokonanych wpłatach Target Public Przejrzenie informacji o dokonanych wpłatach Public System płatniczy Notes ByTheWay - specyfikacja Strona: 52 Przejrzyj szczegóły przejazdu Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyszukaj przejazdów zaawansowanych Target Public Przejrzyj szczegóły przejazdu Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Public Zarezerwuj przejazd Dependency Public Source -> Destination Przeglądaj listę przejazdów zarezerwowanych Public Przejrzyj szczegóły przejazdu Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Public Wyślij mail do uzytkownika Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Public Zobacz profil użytkownika Notes ByTheWay - specyfikacja Strona: 53 Usuń grupę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyswietl grupy Target Public Usuń grupę Notes Usuń grupę prywatną Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] kasuje [grupę prywatną] ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyswietl listę grup prywatnych Strona: 54 Target Public Usuń grupę prywatną Notes Usuń post Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl post z odpowiedziami Target Public Usuń post Notes ByTheWay - specyfikacja Strona: 55 Usuń reklamę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Reklamodawca] usuwa [reklamę] z [listy aktualnie dodanych reklam]. Connections Connector Source Dependency Public Source -> Destination Zobacz listę reklam Target Public Usuń reklamę Usuń trasę z obserwowanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl listę obserwowanych tras Strona: 56 Target Public Usuń trasę z obserwowanych Notes Usuń użytkownika grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Target Public Usuń użytkownika grupy prywatnej Notes ByTheWay - specyfikacja Strona: 57 Usuń wiadomość Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl liste otrzymanych wiadomości Target Public Usuń wiadomość Usuń widget Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl listę widgetów Strona: 58 Target Public Usuń widget Notes Utwórz grupę prywatną Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] tworzy nową [grupę prywatną]. Connections Connector Source Dependency Public Source -> Destination Wyswietl listę grup prywatnych Target Public Utwórz grupę prywatną Notes ByTheWay - specyfikacja Strona: 59 Weryfikuj Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Scenarios Ÿ scenariusz podstawowy - Basic Path Notes 1. uzytkownik zajerestrowany klika Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik premium Target Public Weryfikuj Wyslij prośbę o dodanie do grupy Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl listę grup Strona: 60 Target Public Wyslij prośbę o dodanie do grupy Notes Wyswietl grupy Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Administrator wyświetla [grupy]. Connections Connector Association Unspecified Source Public Wyswietl grupy Dependency Public Source -> Destination Wyswietl grupy Target Public Administrator Public Usuń grupę Notes ByTheWay - specyfikacja Connector Source Strona: 61 Target Dependency Public Source -> Destination Wyswietl grupy Public Dodaj grupę Dependency Public Source -> Destination Wyswietl grupy Public Wyswietl posty grupy Notes Wyswietl listę grup prywatnych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] wyświetla [listę grup prywatnych] które należa do niego. Connections Connector Association Unspecified Source Public Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych Dependency Public Source -> Destination Wyswietl listę grup prywatnych Dependency Public Target Public Wyswietl listę grup prywatnych Public Wyświetl posty grupy prywatnej Public Notes ByTheWay - specyfikacja Strona: 62 Connector Source Source -> Destination Wyswietl listę grup prywatnych Target Utwórz grupę prywatną Dependency Public Source -> Destination Wyswietl listę grup prywatnych Public Usuń grupę prywatną Notes Wyswietl posty grupy Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyswietl grupy Target Public Wyswietl posty grupy Dependency Public Source -> Destination Wyswietl posty grupy Public Dodaj post Dependency Public Source -> Destination Wyswietl posty grupy Public Wyświetl post z odpowiedziami Notes ByTheWay - specyfikacja Strona: 63 Wyszukaj przejazdów Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik] może wyszukać [dostępnych przejazdów] dla osób. Wymagane jest podanie [początku trasy] i [końca trasy]. Wyniki mogą zawierać [trasy z przesiadkami]. Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik Target Public Wyszukaj przejazdów Notes Wyszukaj przejazdów zaawansowanych Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Użytkownik poszukuje dostępnych przejazdów. Musi podać informacje: skąd, data rozpoczecia podróży, ilość wolnych miejsc. Dodatkowo można podać cel podróży, data zakończenia podróży, limit cenowy, wymagana minimalna ocena użytkownika, rodzaj transportu. ByTheWay - specyfikacja Connections Connector Association Unspecified Source Public Wyszukaj przejazdów zaawansowanych Strona: 64 Target Public Użytkownik zajerestrowany Dependency Public Source -> Destination Wyszukaj przejazdów zaawansowanych Public Przejrzyj szczegóły przejazdu Dependency Public Source -> Destination Wyszukaj przejazdów zaawansowanych Public Zarezerwuj przejazd Wyślij mail do uzytkownika Type: Status: Package: aa UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Dependency Public Source -> Destination Wyświetl liste otrzymanych wiadomości Strona: 65 Target Public Wyślij mail do uzytkownika Notes Public Wyślij mail do uzytkownika Wyślij mail do użytkownika Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl post z odpowiedziami Target Public Wyślij mail do użytkownika Notes ByTheWay - specyfikacja Strona: 66 Wyślij prośbę o dodanie do grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl listę grup Target Public Wyślij prośbę o dodanie do grupy prywatnej Notes Wyślij wiadomość do grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] wysyła [mail grupowy] do wszystkich członków [grupy prywatnej] ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Strona: 67 Target Notes Public Wyślij wiadomość do grupy prywatnej Wyświetl archiwalne posty grupy Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy Target Public Wyświetl archiwalne posty grupy Notes ByTheWay - specyfikacja Connector Source Dependency Public Source -> Destination Wyświetl archiwalne posty grupy Strona: 68 Target Notes Public Wyświetl archiwalny post z odpowiedziami Wyświetl archiwalny post z odpowiedziami Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl archiwalne posty grupy Target Notes Public Wyświetl archiwalny post z odpowiedziami Wyświetl liste otrzymanych wiadomości Type: Status: UseCase Proposed. Version 1.0. Phase 1.0. ByTheWay - specyfikacja Package: Diagram przypadków użycia Strona: 69 Keywords: Uzytkownik ma możliwość odebrania komunikatów o "otrzymaniu nowej wiadomości od innego uzytkownika", "znalezieniu wyszukiwanego połączenia" Connections Connector Association Unspecified Source Public Użytkownik zajerestrowany Target Public Wyświetl liste otrzymanych wiadomości Dependency Public Source -> Destination Wyświetl liste otrzymanych wiadomości Public Wyślij mail do uzytkownika Dependency Public Source -> Destination Przeglądaj profil Public Wyświetl liste otrzymanych wiadomości Dependency Public Source -> Destination Wyświetl liste otrzymanych wiadomości Public Usuń wiadomość Wyświetl listę grup Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Association Unspecified Source Public Użytkownik zajerestrowany Strona: 70 Target Public Wyświetl listę grup Dependency Public Source -> Destination Wyświetl listę grup Public Wyslij prośbę o dodanie do grupy Dependency Public Source -> Destination Wyświetl listę grup Public Wyświetl posty grupy Dependency Public Source -> Destination Wyświetl listę grup Public Wyślij prośbę o dodanie do grupy prywatnej Wyświetl listę obserwowanych tras Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Przeglądaj profil Strona: 71 Target Public Wyświetl listę obserwowanych tras Dependency Public Source -> Destination Wyświetl listę obserwowanych tras Public Usuń trasę z obserwowanych Dependency Public Source -> Destination Wyświetl listę obserwowanych tras Public Dodaj nową trasę do obserwowanych Wyświetl listę widgetów Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik premium Strona: 72 Target Public Wyświetl listę widgetów Dependency Public Source -> Destination Wyświetl listę widgetów Public Usuń widget Dependency Public Source -> Destination Wyświetl listę widgetów Public Dodaj widget Dependency Public Source -> Destination Wyświetl listę widgetów Public Modyfikuj widget Notes Wyświetl panel zarządzania użytkownikami grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] wyświetla [panel zarządzania użytkownikami grupy prywatnej]. ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Strona: 73 Target Public Wyświetl panel zarządzania użytkownikami grupy prywatnej Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Public Edytuj prawa użytkownika grupy prywatnej Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Public Dodaj użytkownika grupy prywatnej Dependency Public Source -> Destination Wyświetl panel zarządzania użytkownikami grupy prywatnej Public Usuń użytkownika grupy prywatnej Wyświetl post z odpowiedziami Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyswietl posty grupy Strona: 74 Target Public Wyświetl post z odpowiedziami Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Usuń post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Edytój post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Dodaj post Notes Wyświetl post z odpowiedziami Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl posty Target Public Wyświetl post z Notes ByTheWay - specyfikacja Connector Source grupy Strona: 75 Target odpowiedziami Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Dodaj post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Edytój post Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Zarezerwuj trasę Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Wyślij mail do użytkownika Dependency Public Source -> Destination Wyświetl post z odpowiedziami Public Dodaj trase do obserwowanych Wyświetl posty grupy Type: Status: Package: Connections UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Notes ByTheWay - specyfikacja Strona: 76 Connector Source Dependency Public Source -> Destination Wyświetl listę grup Target Public Wyświetl posty grupy Dependency Public Source -> Destination Wyświetl posty grupy Public Dodaj post Dependency Public Source -> Destination Wyświetl posty grupy Public Wyświetl post z odpowiedziami Dependency Public Source -> Destination Wyświetl posty grupy Public Dodaj przejazd Dependency Public Source -> Destination Wyświetl posty grupy Public Dodaj przejazd cykliczny Dependency Public Source -> Destination Wyświetl posty grupy Public Wyświetl archiwalne posty grupy Notes Wyświetl posty grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] wyświetla [posty] grupy prywatnej. ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Strona: 77 Target Notes Public Wyślij wiadomość do grupy prywatnej Dependency Public Source -> Destination Wyswietl listę grup prywatnych Public Wyświetl posty grupy prywatnej Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Public Wyświetl panel zarządzania użytkownikami grupy prywatnej Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Public Wyświetl statystyki grupy prywatnej Wyświetl statystyki grupy prywatnej Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Użytkownik zarejestrowany z wykupioną opcją tworzenia grup prywatnych] wyświetla [statystyki grupy prywatnej]. [Statystyki grupy prywatnej] pokazują popyt na oferty przejazdowe do miejsca pracy. ByTheWay - specyfikacja Connections Connector Source Dependency Public Source -> Destination Wyświetl posty grupy prywatnej Strona: 78 Target Public Wyświetl statystyki grupy prywatnej Notes Zaakceptuj weryfikację użytkownika Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Administrator] po otrzymaniu [informacji o dokananej wpłacie] dodaje użytkownika Connections Connector Association Unspecified Source Public Administrator Zaloguj się Type: UseCase Target Public Zaakceptuj weryfikację użytkownika Notes ByTheWay - specyfikacja Status: Package: Strona: 79 Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik zajerestrowany Target Public Zaloguj się Notes Zapłać za reklamę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Reklamodawca] płaci za umieszczenie [reklamy] na [stronie głównej] lub [podstronach]. ByTheWay - specyfikacja Connections Connector Source Include Public Source -> Destination Dodaj reklamę Strona: 80 Target Public Zapłać za reklamę Notes Zarezerwuj przejazd Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyszukaj przejazdów zaawansowanych Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Target Notes Public Zarezerwuj przejazd Public Zarezerwuj przejazd ByTheWay - specyfikacja Strona: 81 Zarezerwuj trasę Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Wyświetl post z odpowiedziami Target Public Zarezerwuj trasę Notes Zobacz listę reklam Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Reklamodawca] wyświetla [listę aktualnie dodanych reklam]. Jeżeli [reklamodawca] nie zamieścił żadnej [reklamy], [lista aktualnie dodanych reklam] jest pusta. ByTheWay - specyfikacja Connections Connector Association Unspecified Source Public Reklamodawca Strona: 82 Target Public Zobacz listę reklam Dependency Public Source -> Destination Zobacz listę reklam Public Dodaj reklamę Dependency Public Source -> Destination Zobacz listę reklam Public Edytuj reklamę Dependency Public Source -> Destination Zobacz listę reklam Public Usuń reklamę Notes Zobacz profil użytkownika Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: Connections Connector Source Dependency Public Source -> Destination Przejrzyj szczegóły przejazdu Target Public Zobacz profil użytkownika Notes ByTheWay - specyfikacja Connector Source Strona: 83 Target Notes Zobacz statystyki Type: Status: Package: UseCase Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Keywords: [Administrator] może obejrzeć [zaawansowane statystyki]. Statystyki mogą dotyczyć: - Uzytkowników i ich środków transportu - Użytkowników oferujących lub poszykujących przewiezienia osób lub paczek - statystyk użytkowników portalu dotyczących ich dotychczasowych podróży - tras na których jest największy ruch - bazy ofert podróży - najczęsciej wyszukiwanych tras - najbardziej pożądanych połączeń na których nie ma wystarczającej oferty przewozowej - usług komplementarnych z których kożystają użytkownicy - zadowolenia z podróży z podziałem na miasta/płeć/wiek Connections Connector Association Unspecified Source Public Administrator Target Public Zobacz statystyki Notes ByTheWay - specyfikacja Strona: 84 Użytkownicy Type: Status: Package: Package Proposed. Version 1.0. Phase 1.0. Diagram przypadków użycia Actors - (Use Case diagram) uc Actors Użytkow nik Administrator Użytkow nik zaj erestrow any System płatniczy Użytkow nik premium Reklamodaw ca Użytkow nik zarej estrow any z w ykupiną opcj ą tw orzenia grup pryw atnych Figure: 9 Administrator Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Zarządza systemem. Jest odpowiedzialny za aktualizację [aktualności], Może oglądać [zaawansowane statystyki]. Akceptuje [weryfikację użytkowników]. ByTheWay - specyfikacja Strona: 85 Connections Connector Association Unspecified Source Public Administrator Target Public Zaakceptuj weryfikację użytkownika Association Unspecified Public Administrator Public Zobacz statystyki Association Unspecified Public Administrator Public Edytuj aktualności Association Unspecified Public Wyswietl grupy Public Administrator Association Unspecified Public Edytuj zawartość strony Public Administrator Association Unspecified Public Administrator Public Przejrzenie informacji o dokonanych wpłatach Przewoźnik komercyjny Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Notes ByTheWay - specyfikacja Connections Connector Source Generalization Public Source -> Destination Przewoźnik komercyjny Strona: 86 Target Public Użytkownik zajerestrowany Notes Reklamodawca Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Osoba która jest zainteresowana zamieszczeniem [reklam] na portalu. Connections Connector Source Target Notes ByTheWay - specyfikacja Connector Association Unspecified Source Public Reklamodawca Generalization Public Source -> Destination Reklamodawca Strona: 87 Target Public Zobacz listę reklam Notes Public Użytkownik zajerestrowany System płatniczy Type: Status: Package: Connections Connector Association Unspecified Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Source Public System płatniczy Association Public Source -> Destination Przejrzenie informacji o dokonanych wpłatach Target Public Pobierz informacji o dokonanych wpłatach Public System płatniczy Notes ByTheWay - specyfikacja Strona: 88 Użytkownik Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik Generalization Public Source -> Destination Użytkownik zajerestrowany Target Public Wyszukaj przejazdów Public Użytkownik Użytkownik zajerestrowany Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Notes ByTheWay - specyfikacja Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik zajerestrowany Strona: 89 Target Public Zaloguj się UseCaseLink Public Source -> Destination Użytkownik zajerestrowany Public Dodaj przejazd Generalization Public Source -> Destination Przewoźnik komercyjny Public Użytkownik zajerestrowany Generalization Public Source -> Destination Użytkownik zajerestrowany Public Użytkownik Association Unspecified Public Wyświetl listę grup Public Użytkownik zajerestrowany Generalization Public Source -> Destination Użytkownik premium Public Użytkownik zajerestrowany Association Unspecified Public Użytkownik zajerestrowany Public Przeglądaj profil Association Unspecified Public Wyszukaj przejazdów zaawansowanych Public Użytkownik zajerestrowany Generalization Public Source -> Destination Reklamodawca Generalization Public Public Użytkownik zajerestrowany Public Notes ByTheWay - specyfikacja Strona: 90 Connector Source Source -> Destination Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych Target Użytkownik zajerestrowany Association Unspecified Public Użytkownik zajerestrowany Public Dodaj przejazd cykliczny Association Unspecified Public Użytkownik zajerestrowany Public Wyświetl liste otrzymanych wiadomości Notes Użytkownik premium Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source UseCaseLink Public Source -> Destination Użytkownik premium UseCaseLink Public Source -> Destination Użytkownik Target Public Wyświetl listę widgetów Public Weryfikuj Notes ByTheWay - specyfikacja Connector Source premium Generalization Public Source -> Destination Użytkownik premium Strona: 91 Target Notes Public Użytkownik zajerestrowany Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych Type: Status: Package: Actor Proposed. Version 1.0. Phase 1.0. Użytkownicy Keywords: Connections Connector Source Generalization Public Source -> Destination Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych Association Unspecified Public Użytkownik zarejestrowany z wykupiną opcją tworzenia grup prywatnych Target Public Użytkownik zajerestrowany Public Wyswietl listę grup prywatnych Notes ByTheWay - specyfikacja Strona: 92 ByTheWay Specyfikacja techniczna Dotyczy: Program Operacyjny Innowacyjna Gospodarka Działanie 8.1 „Wspieranie działalności w dziedzinie gospodarki elektronicznej” Wniosek o dofinansowanie nr WND-POIG.08.01.00-14-856/12 pn. „Stworzenie kompleksowej społecznościowej platformy komunikacyjnej umożliwiającej carpooling w zakresie transportu osób i przesyłek z wykorzystaniem technologii mobilnych” Umowa o dofinansowanie nr UDA-POIG.08.01.00-14-856/12-00 z dnia 20.05.2013 r. ByTheWay - specyfikacja Strona: 93 1. Ogólne założenia: • zaprojektowanie, wykonanie, instalacja i uruchomienie portalu internetowego • opracowanie kreacji graficznej i designu dla portalu (we współpracy z koordynatorem projektu BNSolutions.pl) • podstawowy zakres pozycjonowania gotowego portalu w wybranych wyszukiwarkach • dostarczenie sprzętu komputerowego (serwera) do hostowania portalu wraz z instalacją i optymalizacją oprogramowania 2. Portal będzie opierać się na systemie zarządzania treścią CMS. Na portal składają się 3 zasadnicze części: • strona zasadnicza umożliwiająca korzystanie z funkcjonalności portalu • baza danych przechowująca informacje o poszukiwanych przejazdach, przewozach paczek, checi przewiezienia osoby/paczki, danych użytkowników • system CMS umożliwiający zarządzanie treścią podstron oraz aktualnościami 3. Wymagania: • zgodność frontu portalu oraz jego zaplecza (interfejs systemu CMS) ze standardami HTML5, CSS3.0 • optymalizacja: MS Internet Explorer 8.x i wyższe, Opera 9.x i wyższe, Mozilla Firefox 3.x i wyższe, Safari 5.x i wyższe, Chrome 4.x i wyższe • optymalizacja kreacji graficznej z użyciem responsive web design. Wykorzystanie szablonu Bootstrap 3 RC1 dla następujących szerokości ekranu: poniżej 768px, 768-992px, 992-1200px, powyżej 1200px • optymalizacja kodu HTML, plików graficznych, plików animacji, struktury bazodanowej pod kątem znacznego ruchu na portalu: ok. 3000 unikalnych wejść na portal dziennie, obsługa 1000 kont użytkowników portalu jednocześnie • dedykowany system CMS o modularnej konstrukcji pozwalający na rozbudowę i modyfikacje oparty na frameworku objętym licencją własnościową. CMS napisany za pomocą frameworka CakePHP wykorzystującego podział na moduły modelu, widoku i kontrolera. Szczegółowa dokumentacja znajduje się na stronie: http://api.cakephp.org/2.3/. • architektura informacji platformy w wersji polskiej, interfejs użytkownika w wersji polskiej, kontekstowy system pomocy w wersji polskiej, ByTheWay - specyfikacja Strona: 94 • użyte skrypty i oprogramowanie nie może być obciąż one prawami autorskimi osób trzecich (za wyjątkiem licencji GPL lub podobnych licencji publicznych), • możliwość rozszerzenia systemu bez konieczności zmiany technologii lub serwera aplikacji, rozbudowa o funkcjonalności przez podmiot niezależny od Wykonawcy (środowisko programistyczne), • ochrona bazy danych (zwłaszcza dot. danych użytkowników), rozwiązania techniczne pozwalające ochronę danych osobowych w rozumieniu obowiązującej ustawy o ochronie danych osobowych • zgodność z platformami MS Windows, Linux, Mac OS X • optymalizacja działania portalu minimum: łącze telefoniczne 256kbit; optimum: łącze DSL 512kbit, nie wymagająca zmniejszenia funkcjonalności lub zubożenia jakości zawartości portalu • maksymalny czas reakcji w trakcie okresu realizacji portalu – 10 min (w czasie: 3.00 - 23.00), czas reakcji – czas potrzebny na dodanie informacji o planowanym przejeździe z załączeniem danych trasy oraz preferencji kierowcy lub czas potrzebny na znalezienie osoby oferującej przejazd (o ile preferowane dane znajdują się w systemie) oraz zarezerwowanie tego przejazdu 4. Akceptowane technologie: • PHP + MySQL (frameworki: CakePHP) • Javascript, Ajax • jQuery, jQueryUI • Systemy geolokalizacyjne (np. Google Maps API, OpenStreetMap) • Systemy uwierzytelniania( np. Facebook API, Allegro API, Google API) • System płatniczy( np. PayU, Przelewy24, Platnosci.pl, platnosci24.com, transferuj.pl ) 5. Kreacja graficzna i design: Oprawa wizualna i design portalu może zostać zmieniona i poddana modyfikacji w wyniku konsultacji z przedstawicielem BNSolutions.pl – koordynatorem projektu. Konfigurator styli layoutu (opcjonalnie): • Możliwość administrowania stylem portalu: edycja kolorów, obramowań , czcionek, grafiki tła, grafiki w przestrzeni ByTheWay - specyfikacja Strona: 95 • Możliwość zmiany ułożenia podstron przez administratora systemu CMS (np. menu, listy odnośników); • Możliwość edycji zawartości podstron przy wykorzystaniu edytora WYSIWYG • Rozbudowany system ekspozycji modułów reklamowych; 6. Wymagania i ogólne informacje o portalu i funkcjach systemu CMS: • tworzenie treści strony za pomocą wygodnego edytora (podstawowe funkcje edytora tekstów, np. WYSIWYG), • definiowanie tagów dla podstron, • moduł kreowania widgetów zawierających informacje o poszukiwanym lub udostępniamym transporcie, • możliwość budowania menu zależnych (np. zmienne menu boczne w zależności od wybranej podstrony), • możliwość tworzenia i pełnego zarządzania kontami oraz ich uprawnieniami administratorów, • administrowanie grupami, komentarzami, wpisami, • zarządzanie danymi dla wyszukiwarek (opcje dla pozycjonowania), • moduł grup, moderowany przez administratorów (wraz z wyświetlaniem id użytkownika: grafiką, status aktywności na grupach, itp), • system rejestracji użytkownika (potwierdzenie i aktywacja przez e-mail lub synchronizacja z Facebook.com), • możliwość weryfikacji użytkownika; weryfikacja za pomocą dowodu osobistego po zatwierdzeniu przez administratora systemu, weryfikacja za pomocą SMS, • moduł aplikacji mobilnej, synchronizacja z GPS, działająca na systemach Android, Windows Phone, iOS, • system użytkowników wraz z różnymi uprawnieniami dostępu, automatycznym dostępem do wyszukiwarki tras; po zalogowaniu z dostępem do dodawania tras i komentowania postów, • wyrównanie dostępu serwisu dla osób niepełnosprawnych, • moduł rotatora banerów i form reklamowych, ByTheWay - specyfikacja Strona: 96 • zarządzanie przejazdami: dodawanie przejazdu do obserwowanych, dodawanie przejazdu do zarezerwowanych, dodawanie poszukiwanej trasy do obserwowanych, • możliwość oceny użytkownika po dokonaniu przejazdu, • moduł statystyk portalu zawierający informacje o użytkownikach i zrealizowanych przejazdach, • moduł płatności za korzystanie z portalu, • moduł SMS wysyłający powiadomienia do użytkowników w momencie pojawienia się oferty odpowiadającej kryteriom wyszukiwania danego użytkownika, • możliwość zamieszczanie postów i komentarzy na portalu Facebook.com, • moduł statystyk grupy prywatnej, • zabezpieczenie formularzy przed botami przy pomocy graficznego interfejsu • e-biuletyn (newsletter) wraz z systemem zarządzania bazą e-mailową, • narzędzie: wyszukiwarka wewnętrzna (nazwy miejscowości), • narzędzie: struktura / mapa serwisu • zabezpieczenie bazy danych osobowych zgodne z systemem GIODO • moduł kalendarium – zawierający informacje o trasach zarezerwowanych, obserwowanych i aktualnie oglądanej trasie, • wewnętrzny system mailingowy służący do komunikacji między użytkownikami, • regulamin korzystania ze strony internetowej ByTheWay.pl, informacja prawna, informacja o ochronie danych, informacja dotycząca idei carpoolingu • Informacje o programie 8.1 POIG • Informacja o współfinansowaniu projektu przez UE 7. Moduł zarządzania przejazdami Opis: Moduł zarządzania przejazdami ma być osadzony na portalu, oferuje możliwość użytkownikom niezalogowanym przeszukiwanie dostępnych przejazdów. Aby zarezerwować przejazd lub dodać go do obserwowanych należy się zarejestrować. Po rejestracji użytkownicy mogą dodawać własne trasy. Użytkownik może przewozić osoby lub paczki na danej trasie. W przypadku osób należy podać dostępna liczbę miejsc w aucie oraz maksymalną wielkość bagażu, w przypadku paczki należy podać maksymalne wymiary i wagę. Użytkownicy ByTheWay - specyfikacja Strona: 97 zarejestrowani mogą też dodać daną trasę do obserwowanych jeżeli aktualnie nie ma dostępnych połączeń na niej. Gdy użytkownik dodaje trasę którą realizuje okresowo może zaznaczy opcję przejazdu cyklicznego z zaznaczeniem właściwości cyklu. Interakcja: Użytkownik podając trasę ma możliwość zaznaczenia na mapie punktu startowego i końcowego na mapie. Punkty te można też przesuwać ręcznie na mapie, po wstępnym zainicjowaniu trasy. 8. Moduł SMS Opis: Moduł udostępnia możliwość weryfikacji użytkowników przez wysłanie SMS-a. Użytkownik taki może ustawić opcję powiadomienia SMS-owego w momencie kiedy pojawi się trasa która spełnia jego kryteria wyszukiwania. Dla użytkowników z wykupioną opcją premium istnieje możliwość wysłania wiadomości SMS z punktami początkowymi i końcowymi trasy. Użytkownik następnie otrzyma SMS zwrotny z informacją o dostępnym przejedzie (lub braku przejazdu kiedy żadna trasa nie spełnia kryteriów wyszukiwania) na wybranej trasie. 9. Moduł zarządzania portalem Opis: Moduł udostępnia administratorowi możliwość zarządzania wyglądem portalu. Administrator może dodawać aktualności, istnieje możliwość edycji i usuwania aktualności. Dzięki modułowi można edytować kolejność wyświetlania, położenie i treść podstron. Podstrony są edytowane/tworzone za pomocą edytora WYSIWYG. Administrator może też usuwać wiadomości i posty wulgarne lub niezgodne z regulaminem portalu. Użytkownik który nie będzie stosować się do regulaminu portalu może zostać usunięty z bazy danych przez administratora. 10. Moduł użytkowników Opis: Portal będzie umożliwiał użytkownikom możliwość zarejestrowania się. Podczas rejestracji niezbędna będzie zgoda z regulaminem portalu, oraz podanie danych osobowych: imię, nazwisko, e-mail, płeć, państwo, miasto, o mnie. Dodatkowo aby przyspieszyć proces zakładania konta udostępniona będzie możliwość synchronizacji z portalem Facebook.com. Użytkownik z wykupioną grupą prywatną ma możliwość nadawania praw administratora użytkownikom danej grupy prywatnej. 11. Moduł grup Opis: Każdy użytkownik zarejestrowany będzie mógł tworzyć własne grupy. Wewnątrz danej grupy właściciel będzie mógł edytować: nazwę grupy, logo grupy, krótki opis tekstowy oraz baner grupy. Grupy będą podzielone na różne typy w zależności od rodzaju/sposobu/miejsca przejazdu. Przykładowe typy grup to: stowarzyszenia, miasta, społeczności, grupy, non-profit, miejskie, szkoły, grupy sportowe, uniwersytety. Wewnątrz grupy każdy zapisany członek będzie mógł umieszczać wiadomości o poszukiwanych lub realizowanych trasach. Inni użytkownicy mogą umieścić post z komentarzem pod zamieszczonym ogłoszeniem. Użytkownik zarejestrowany może uaktywnić opcję utworzenia grupy prywatnej po uiszczeniu odpowiedniej opłaty. Posty grupy prywatnej mogą wyświetlać tylko członkowie tej grupy. Członkami grupy prywatnej mogą zostać tylko osoby zaproszone przez administratora grupy. Grupy prywatne są widoczne tylko dla członków grupy, reszta użytkowników nie jest w stanie ich zobaczyć. Aby dodać nową grupę prywatną należy dokonać kolejnej płatności. 12. Moduł reklamodawcy Opis: Użytkownicy zarejestrowani mają udostępnioną możliwość zamieszczania reklam. Najpierw użytkownik musi zgłosić chęć zamieszczenia reklamy na portalu, po odblokowaniu tej możliwości ByTheWay - specyfikacja Strona: 98 udostępniona zostaje podstrona do zarządzania reklamami. Za zamieszczenie reklamy użytkownicy muszą zapłacić jednorazową opłatę. Reklamy mogą zostać wykupione na określony okres czasu,na daną liczbę wyświetleń bądź na liczbę kliknięć w reklamę. Po zamieszczeniu reklamy reklamodawca może przedłużyć wyświetlanie reklamy za dodatkową opłatą. 13. Moduł płatności Opis: Użytkownik który wykupuje reklamy, konto premium lub możliwość zakładania grup prywatnych musi uiścić odpowiednią opłatę w systemie płatniczym. System płatniczy połączony jest z portalem. Płatności można dokonać za pomocą SMS Premium lub systemu płatności internetowej. 14. Moduł komunikacji Opis: Użytkownicy zarejestrowani mają możliwość wysyłania wiadomości prywatnych między sobą. Powiadomienia o otrzymaniu wiadomości mogą zostać wysłane są na zewnętrzną skrzynkę pocztową. I. Załącznik 1: Instalacja i konfiguracja CakePHP • Installation CakePHP is fast and easy to install. The minimum requirements are a webserver and a copy of Cake. While this manual focuses primarily on setting up with Apache (because it’s the most common), you can configure Cake to run on a variety of web servers such as LightHTTPD or Microsoft IIS. • Requirements o o HTTP Server. For example: Apache. mod_rewrite is preferred, but by no means required. PHP 5.2.8 or greater. Technically a database engine isn’t required, but we imagine that most applications will utilize one. CakePHP supports a variety of database storage engines: o MySQL (4 or greater) o PostgreSQL o Microsoft SQL Server o SQLite Note: The built-in drivers all require PDO. You should make sure you have the correct PDO extensions installed. • License CakePHP is licensed under the MIT license. This means that you are free to modify, distribute and republish the source code on the condition that the copyright notices are left intact. You are also free to incorporate CakePHP into any Commercial or closed source application. • Downloading CakePHP There are two main ways to get a fresh copy of CakePHP. You can either download an archive ByTheWay - specyfikacja Strona: 99 copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download the latest major release of CakePHP. Visit the main website http://cakephp.org and follow the “Download Now” link. All current releases of CakePHP are hosted on Github. Github houses both CakePHP itself as well as many other plugins for CakePHP. The CakePHP releases are available at Github tags. Alternatively you can get fresh off the press code, with all the bug-fixes and up to the minute enhancements. These can be accessed from github by cloning the Github repository: git clone git://github.com/cakephp/cakephp.git • Permissions CakePHP uses the app/tmp directory for a number of different operations. Model descriptions, cached views, and session information are just a few examples. As such, make sure the directory app/tmp and all its subdirectories in your cake installation are writable by the web server user. • Setup Setting up CakePHP can be as simple as slapping it in your web server’s document root, or as complex and flexible as you wish. This section will cover the three main installation types for CakePHP: development, production, and advanced. o Development: easy to get going, URLs for the application include the CakePHP installation directory name, and less secure. o Production: Requires the ability to configure the web server’s document root, clean URLs, very secure. o Advanced: With some configuration, allows you to place key CakePHP directories in different parts of the filesystem, possibly sharing a single CakePHP core library folder amongst many CakePHP applications. • Development A development installation is the fastest method to setup Cake. This example will help you install a CakePHP application and make it available at http://www.example.com/cake_2_0/. We assume for the purposes of this example that your document root is set to /var/www/html. Unpack the contents of the Cake archive into /var/www/html. You now have a folder in your document root named after the release you’ve downloaded (e.g. cake_2.0.0). Rename this folder to cake_2_0. Your development setup will look like this on the file system: /var/www/html/ cake_2_0/ app/ lib/ plugins/ vendors/ .htaccess index.php README If your web server is configured correctly, you should now find your Cake application accessible at http://www.example.com/cake_2_0/. • Using one CakePHP checkout for multiple applications If you are developing a number of applications, it often makes sense to have them share the same CakePHP core checkout. There are a few ways in which you can accomplish this. Often ByTheWay - specyfikacja Strona: 100 the easiest is to use PHP’s include_path. To start off, clone CakePHP into a directory. For this example, we’ll use ~/projects: git clone git://github.com/cakephp/cakephp.git ~/projects/cakephp This will clone CakePHP into your ~/projects directory. If you don’t want to use git, you can download a zipball and the remaining steps will be the same. Next you’ll have to locate and modify your php.ini. On *nix systems this is often in /etc/php.ini, but using php -i and looking for ‘Loaded Configuration File’. Once you’ve found the correct ini file, modify the include_path configuration to include ~/projects/cakephp/lib. An example would look like: include_path = .:/home/mark/projects/cakephp/lib:/usr/local/php/lib/php After restarting your webserver, you should see the changes reflected in phpinfo(). Note: If you are on windows, separate include paths with ; instead of : Having finished setting up your include_path your applications should be able to find CakePHP automatically. • Production A production installation is a more flexible way to setup Cake. Using this method allows an entire domain to act as a single CakePHP application. This example will help you install Cake anywhere on your filesystem and make it available at http://www.example.com. Note that this installation may require the rights to change the DocumentRoot on Apache webservers. Unpack the contents of the Cake archive into a directory of your choosing. For the purposes of this example, we assume you choose to install Cake into /cake_install. Your production setup will look like this on the filesystem: /cake_install/ app/ webroot/ (this directory is set as the ``DocumentRoot`` directive) lib/ plugins/ vendors/ .htaccess index.php README Developers using Apache should set the DocumentRoot directive for the domain to: DocumentRoot /cake_install/app/webroot If your web server is configured correctly, you should now find your Cake application accessible at http://www.example.com. • Advanced Installation Installing CakePHP with PEAR installer CakePHP publishes a PEAR package that you can install using the pear installer. Installing with the pear installer can simplify sharing CakePHP libraries across multiple applications. To install CakePHP with pear you’ll need to do the following: pear channel-discover pear.cakephp.org pear install cakephp/CakePHP Note: On some systems installing libraries with pear will require sudo. After installing CakePHP with pear, if pear is configured correctly you should be able to use the cake command to create a new application. Since CakePHP will be located on PHP’s include_path you won’t need to make any other changes. Installing CakePHP with composer Composer is a dependency management tool for PHP 5.3+. It solves many of the problems the PEAR installer has, and simplifies managing multiple versions of libraries. Since CakePHP publishes a PEAR package you can install CakePHP using composer. Before installing CakePHP you’ll need to setup a composer.json file. An composer.json file for a CakePHP applications would look like ByTheWay - specyfikacja Strona: 101 the following: { "name": "example-app", "repositories": [ { "type": "pear", "url": "http://pear.cakephp.org" } ], "require": { "pear-cakephp/cakephp": ">=2.3.4" }, "config": { "vendor-dir": "Vendor/" } } Save this JSON into composer.json in the root directory of your project. Next download the composer.phar file into your project. After you’ve downloaded composer, install CakePHP. In the same directory as your composer.json run the following: $ php composer.phar install Once composer has finished running you should have a directory structure that looks like: example-app/ composer.phar composer.json Vendor/ bin/ autoload.php composer/ pear-pear.cakephp.org/ You are now ready to generate the rest of your application skeleton: $ Vendor/bin/cake bake project <path to project> By default bake will hard-code CAKE_CORE_INCLUDE_PATH. To make your application more portable you should modify webroot/index.php, changing CAKE_CORE_INCLUDE_PATH to be a relative path: define( 'CAKE_CORE_INCLUDE_PATH', ROOT . DS . APP_DIR . '/Vendor/pear-pear.cakephp.org/CakePHP' ); If you’re installing any other libraries with composer, you’ll need to setup the autoloader, and work around an issue in composer’s autoloader. In your Config/bootstrap.php file add the following: // Load composer autoload. require APP . '/Vendor/autoload.php'; // Remove and re-prepend CakePHP's autoloader as composer thinks it is the most important. // See https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b1 27b spl_autoload_unregister(array('App', 'load')); ByTheWay - specyfikacja Strona: 102 spl_autoload_register(array('App', 'load'), true, true); You should now have a functioning CakePHP application with CakePHP installed via composer. Be sure to keep the composer.json and composer.lock file with the rest of your source code. Sharing CakePHP libraries with multiple applications There may be some situations where you wish to place CakePHP’s directories on different places on the filesystem. This may be due to a shared host restriction, or maybe you just want a few of your apps to share the same Cake libraries. This section describes how to spread your CakePHP directories across a filesystem. First, realize that there are three main parts to a Cake application: 1. The core CakePHP libraries, in /lib/Cake. 2. Your application code, in /app. 3. The application’s webroot, usually in /app/webroot. Each of these directories can be located anywhere on your file system, with the exception of the webroot, which needs to be accessible by your web server. You can even move the webroot folder out of the app folder as long as you tell Cake where you’ve put it. To configure your Cake installation, you’ll need to make some changes to the following files. a. /app/webroot/index.php b. /app/webroot/test.php (if you use the Testing feature.) There are three constants that you’ll need to edit: ROOT, APP_DIR, and CAKE_CORE_INCLUDE_PATH. a. ROOT should be set to the path of the directory that contains your app folder. b. APP_DIR should be set to the (base)name of your app folder. c. CAKE_CORE_INCLUDE_PATH should be set to the path of your CakePHP libraries folder. Let’s run through an example so you can see what an advanced installation might look like in practice. Imagine that I wanted to set up CakePHP to work as follows: a. The CakePHP core libraries will be placed in /usr/lib/cake. b. My application’s webroot directory will be /var/www/mysite/. c. My application’s app directory will be /home/me/myapp. Given this type of setup, I would need to edit my webroot/index.php file (which will end up at /var/www/mysite/index.php, in this example) to look like the following: // /app/webroot/index.php (partial, comments removed) if (!defined('ROOT')) { define('ROOT', DS . 'home' . DS . 'me'); } if (!defined('APP_DIR')) { define ('APP_DIR', 'myapp'); } if (!defined('CAKE_CORE_INCLUDE_PATH')) { define('CAKE_CORE_INCLUDE_PATH', DS . 'usr' . DS . 'lib'); } It is recommended to use the DS constant rather than slashes to delimit file paths. This prevents any missing file errors you might get as a result of using the wrong delimiter, and it makes your code more portable. ByTheWay - specyfikacja • Strona: 103 Apache and mod_rewrite (and .htaccess) While CakePHP is built to work with mod_rewrite out of the box–and usually does–we’ve noticed that a few users struggle with getting everything to play nicely on their systems. Here are a few things you might try to get it running correctly. First look at your httpd.conf (Make sure you are editing the system httpd.conf rather than a user- or site-specific httpd.conf). a. Make sure that an .htaccess override is allowed and that AllowOverride is set to All for the correct DocumentRoot. You should see something similar to: # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Options FollowSymLinks AllowOverride All # Order deny,allow # Deny from all </Directory> b. Make sure you are loading up mod_rewrite correctly. You should see something like: LoadModule rewrite_module libexec/apache2/mod_rewrite.so In many systems these will be commented out (by being prepended with a #) by default, so you may just need to remove those leading # symbols. After you make changes, restart Apache to make sure the settings are active. Verify that you your .htaccess files are actually in the right directories. This can happen during copying because some operating systems treat files that start with ‘.’ as hidden and therefore won’t see them to copy. c. Make sure your copy of CakePHP is from the downloads section of the site or our GIT repository, and has been unpacked correctly by checking for .htaccess files. Cake root directory (needs to be copied to your document, this redirects everything to your Cake app): <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> Cake app directory (will be copied to the top directory of your application by bake): <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> Cake webroot directory (will be copied to your application’s web root by bake): <IfModule mod_rewrite.c> ByTheWay - specyfikacja Strona: 104 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> If your CakePHP site still has problems with mod_rewrite you might want to try and modify settings for virtualhosts. If on ubuntu, edit the file /etc/apache2/sites-available/default (location is distribution dependent). In this file, ensure that AllowOverride None is changed to AllowOverride All, so you have: <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow from all </Directory> If on Mac OSX, another solution is to use the tool virtualhostx to make a virtual host to point to your folder. For many hosting services (GoDaddy, 1and1), your web server is actually being served from a user directory that already uses mod_rewrite. If you are installing CakePHP into a user directory (http://example.com/~username/cakephp/), or any other URL structure that already utilizes mod_rewrite, you’ll need to add RewriteBase statements to the .htaccess files CakePHP uses (/.htaccess, /app/.htaccess, /app/webroot/.htaccess). This can be added to the same section with the RewriteEngine directive, so for example your webroot .htaccess file would look like: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /path/to/cake/app RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> The details of those changes will depend on your setup, and can include additional things that are not Cake related. Please refer to Apache’s online documentation for more information. d. (Optional) To improve production setup, you should prevent invalid assets from being parsed by CakePHP. Modify your webroot .htaccess to something like: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /path/to/cake/app RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/(app/webroot/)?(img|css|js)/(.*)$ RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> ByTheWay - specyfikacja Strona: 105 The above will simply prevent incorrect assets from being sent to index.php and instead display your webserver’s 404 page. Additionally you can create a matching HTML 404 page, or use the default built-in CakePHP 404 by adding an ErrorDocument directive: ErrorDocument 404 /404-not-found Pretty URLs on nginx nginx is a popular server that uses less system resources than Apache. Its drawback is that it does not make use of .htaccess files like Apache, so it is necessary to create those rewritten URLs in the site-available configuration. Depending upon your setup, you will have to modify this, but at the very least, you will need PHP running as a FastCGI instance. server { listen 80; server_name www.example.com; rewrite ^(.*) http://example.com$1 permanent; } server { listen 80; server_name example.com; # root directive should be global root /var/www/example.com/public/app/webroot/; index index.php; access_log /var/www/example.com/log/access.log; error_log /var/www/example.com/log/error.log; location / { try_files $uri $uri/ /index.php?$uri&$args; } } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } URL Rewrites on IIS7 (Windows hosts) IIS7 does not natively support .htaccess files. While there are add-ons that can add this support, you can also import htaccess rules into IIS to use CakePHP’s native rewrites. To do this, follow these steps: a. Use Microsoft’s Web Platform Installer to install the URL Rewrite Module 2.0 or download it directly (32-bit / 64-bit). b. Create a new file in your CakePHP root folder, called web.config. c. Using Notepad or any XML-safe editor and copy the following code into your new web.config file... <?xml version="1.0" encoding="UTF-8"?> <configuration> ByTheWay - specyfikacja Strona: 106 <system.webServer> <rewrite> <rules> <rule name="Rewrite requests to test.php" stopProcessing="true"> <match url="^test.php(.*)$" ignoreCase="false" /> <action type="Rewrite" url="app/webroot/test.php{R:1}" /> </rule> <rule name="Exclude direct access to app/webroot/*" stopProcessing="true"> <match url="^app/webroot/(.*)$" ignoreCase="false" /> <action type="None" /> </rule> <rule name="Rewrite routed access to assets (img, css, files, js, favicon)" stopProcessing="true"> <match url="^(img|css|files|js|favicon.ico)(.*)$" /> <action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false" /> </rule> <rule name="Rewrite requested file/folder to index.php" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <action type="Rewrite" url="index.php" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration> Once the web.config file is created with the correct IIS-friendly rewrite rules, CakePHP’s links, css, js, and rerouting should work correctly. II. Załącznik 2: Wywoływanie zapytań We’ve covered the basic ingredients in CakePHP, so let’s look at how objects work together to complete a basic request. Continuing with our original request example, let’s imagine that our friend Ricardo just clicked on the “Buy A Custom Cake Now!” link on a CakePHP application’s landing page. ByTheWay - specyfikacja Strona: 107 Flow diagram showing a typical CakePHP request Black = required element, Gray = optional element, Blue = callback 1. Ricardo clicks the link pointing to http://www.example.com/cakes/buy, and his browser makes a request to your web server. 2. The Router parses the URL in order to extract the parameters for this request: the controller, action, and any other arguments that will affect the business logic during this request. 3. Using routes, a request URL is mapped to a controller action (a method in a specific controller class). In this case, it’s the buy() method of the CakesController. The controller’s beforeFilter() callback is called before any controller action logic is executed. 4. The controller may use models to gain access to the application’s data. In this example, the controller uses a model to fetch Ricardo’s last purchases from the database. Any applicable model callbacks, behaviors, and DataSources may apply during this operation. While model usage is not required, all CakePHP controllers initially require at least one model. 5. After the model has retrieved the data, it is returned to the controller. Model callbacks may apply. 6. The controller may use components to further refine the data or perform other operations (session manipulation, authentication, or sending emails, for example). 7. Once the controller has used models and components to prepare the data sufficiently, that data is handed to the view using the controller’s set() method. Controller callbacks may be applied before the data is sent. The view logic is performed, which may include the use of elements and/or helpers. By default, the view is rendered inside of a layout. 8. Additional controller callbacks (like afterFilter) may be applied. The complete, rendered view code is sent to Ricardo’s browser. III. Załącznik 3: Struktura folderów After you’ve downloaded and extracted CakePHP, these are the files and folders you should see: • app • lib • vendors • plugins • .htaccess • index.php • README You’ll notice three main folders: • The app folder will be where you work your magic: it’s where your application’s files will be placed. • The lib folder is where we’ve worked our magic. Make a personal commitment not to edit files in this folder. We can’t help you if you’ve modified the core. • Finally, the vendors folder is where you’ll place third-party PHP libraries you need to use with your CakePHP applications. ByTheWay - specyfikacja Strona: 108 1. The App Folder CakePHP’s app folder is where you will do most of your application development. Let’s look a little closer at the folders inside of app. Config Holds the (few) configuration files CakePHP uses. Database connection details, bootstrapping, core configuration files and more should be stored here. Console Contains the console commands and console tasks for your application. This directory can also contain a Templates directory to customize the output of bake. Controller Contains your application’s controllers and their components. Lib Contains 1st party libraries that do not come from 3rd parties or external vendors. This allows you to separate your organization’s internal libraries from vendor libraries. Locale Stores string files for internationalization. Model Contains your application’s models, behaviors, and datasources. Plugin Contains plugin packages. Test This directory contains all the test cases, and test fixtures for your application. The Test/Case directory should mirror your application and contain one or more test cases per class in your application. tmp This is where CakePHP stores temporary data. The actual data it stores depends on how you have CakePHP configured, but this folder is usually used to store model descriptions, logs, and sometimes session information. Make sure that this folder exists and that it is writable, otherwise the performance of your application will be severely impacted. In debug mode, CakePHP will warn you if it is not the case. Vendor Any third-party classes or libraries should be placed here. Doing so makes them easy to access using the App::import(‘vendor’, ‘name’) function. Keen observers will note that this seems redundant, as there is also a vendors folder at the top level of our directory structure. We’ll get into the differences between the two when we discuss managing multiple applications and more complex system setups. View Presentational files are placed here: elements, error pages, helpers, layouts, and view files. webroot In a production setup, this folder should serve as the document root for your application. Folders here also serve as holding places for CSS stylesheets, images, and JavaScript files. IV. Załącznik 4: Struktura CakePHP CakePHP Structure CakePHP features Controller, Model, and View classes, but it also features some additional classes and objects that make development in MVC a little quicker and more enjoyable. Components, Behaviors, and Helpers are classes that provide extensibility and reusability to quickly add functionality to the base MVC classes in your applications. Right now we’ll stay at a higher level, so look for the details on how to use these tools later on. ByTheWay - specyfikacja Strona: 109 Application Extensions Controllers, helpers and models each have a parent class you can use to define application-wide changes. AppController (located at /app/Controller/AppController.php), AppHelper (located at /app/View/Helper/AppHelper.php) and AppModel (located at /app/Model/AppModel.php) are great places to put methods you want to share between all controllers, helpers or models. Although they aren’t classes or files, routes play a role in requests made to CakePHP. Route definitions tell CakePHP how to map URLs to controller actions. The default behavior assumes that the URL /controller/action/var1/var2 maps to Controller::action($var1, $var2), but you can use routes to customize URLs and how they are interpreted by your application. Some features in an application merit packaging as a whole. A plugin is a package of models, controllers and views that accomplishes a specific purpose that can span multiple applications. A user management system or a simplified blog might be a good fit for CakePHP plugins. Controller Extensions (“Components”) A Component is a class that aids in controller logic. If you have some logic you want to share between controllers (or applications), a component is usually a good fit. As an example, the core EmailComponent class makes creating and sending emails a snap. Rather than writing a controller method in a single controller that performs this logic, you can package the logic so it can be shared. Controllers are also fitted with callbacks. These callbacks are available for your use, just in case you need to insert some logic between CakePHP’s core operations. Callbacks available include: • beforeFilter(), executed before any controller action logic • beforeRender(), executed after controller logic, but before the view is rendered • afterFilter(), executed after all controller logic, including the view render. There may be no difference between afterRender() and afterFilter() unless you’ve manually made a call to render() in your controller action and have included some logic after that call. Model Extensions (“Behaviors”) Similarly, Behaviors work as ways to add common functionality between models. For example, if you store user data in a tree structure, you can specify your User model as behaving like a tree, and gain free functionality for removing, adding, and shifting nodes in your underlying tree structure. Models also are supported by another class called a DataSource. DataSources are an abstraction that enable models to manipulate different types of data consistently. While the main source of data in a CakePHP application is often a database, you might write additional DataSources that allow your models to represent RSS feeds, CSV files, LDAP entries, or iCal events. DataSources allow you to associate records from different sources: rather than being limited to SQL joins, DataSources allow you to tell your LDAP model that it is associated to many iCal events. Just like controllers, models are featured with callbacks as well: • beforeFind() • afterFind() • beforeValidate() • beforeSave() • afterSave() • beforeDelete() • afterDelete() The names of these methods should be descriptive enough to let you know what they do. You can find the details in the models chapter. View Extensions (“Helpers”) ByTheWay - specyfikacja Strona: 110 A Helper is a class that aids in view logic. Much like a component used among controllers, helpers allow presentational logic to be accessed and shared between views. One of the core helpers, JsHelper, makes Ajax requests within views much easier and comes with support for jQuery (default), Prototype and Mootools. Most applications have pieces of view code that are used repeatedly. CakePHP facilitates view code reuse with layouts and elements. By default, every view rendered by a controller is placed inside a layout. Elements are used when small snippets of content need to be reused in multiple views. V. Załącznik 5: Podział na model-widok-kontroler Understanding Model-View-Controller CakePHP follows the MVC software design pattern. Programming using MVC separates your application into three main parts: The Model layer The Model layer represents the part of your application that implements the business logic. It is responsible for retrieving data and converting it into meaningful concepts for your application. This includes processing, validating, associating or other tasks related to handling data. At a first glance, Model objects can be looked at as the first layer of interaction with any database you might be using for your application. But in general they stand for the major concepts around which you implement your application. In the case of a social network, the Model layer would take care of tasks such as Saving the user data, saving friends associations, storing and retrieving user photos, finding new friends for suggestions, etc. While the model objects can be thought as “Friend”, “User”, “Comment”, or “Photo”. The View layer The View renders a presentation of modeled data. Being separated from the Model objects, it is responsible for using the information it has available to produce any presentational interface your application might need. For example, as the Model layer returns a set of data, the view would use it to render a HTML page containing it. Or a XML formatted result for others to consume. The View layer is not only limited to HTML or text representation of the data, it can be used to deliver a wide variety of formats depending on your needs, such as videos, music, documents and any other format you can think of. The Controller layer The Controller layer handles requests from users. It’s responsible for rendering back a response with the aid of both the Model and the View Layer. Controllers can be seen as managers taking care that all needed resources for completing a task are delegated to the correct workers. It waits for petitions from clients, checks their validity according to authentication or authorization rules, delegates data fetching or processing to the model, and selects the correct type of presentational data that the client is accepting, to finally delegate this rendering process to the View layer. CakePHP request cycle ByTheWay - specyfikacja Strona: 111 Figure: 1: A typical MVC Request in CakePHP The typical CakePHP request cycle starts with a user requesting a page or resource in your application. This request is first processed by a dispatcher which will select the correct controller object to handle it. Once the request arrives at the controller, it will communicate with the Model layer to process any data fetching or saving operation that might be needed. After this communication is over, the controller will proceed at delegating to the correct view object the task of generating an output resulting from the data provided by the model. Finally, when this output is generated, it is immediately rendered to the user Almost every request to your application will follow this basic pattern. We’ll add some details later on which are specific to CakePHP, so keep this in mind as we proceed. Benefits Why use MVC? Because it is a tried and true software design pattern that turns an application into a maintainable, modular, rapidly developed package. Crafting application tasks into separate models, views, and controllers makes your application very light on its feet. New features are easily added, and new faces on old features are a snap. The modular and separate design also allows developers and designers to work simultaneously, including the ability to rapidly prototype. Separation also allows developers to make changes in one part of the application without affecting the others. ByTheWay - specyfikacja Strona: 112 ByTheWay Architektura informacji strony Dotyczy: Program Operacyjny Innowacyjna Gospodarka Działanie 8.1 „Wspieranie działalności w dziedzinie gospodarki elektronicznej” Wniosek o dofinansowanie nr WND-POIG.08.01.00-14-856/12 pn. „Stworzenie kompleksowej społecznościowej platformy komunikacyjnej umożliwiającej carpooling w zakresie transportu osób i przesyłek z wykorzystaniem technologii mobilnych” Umowa o dofinansowanie nr UDA-POIG.08.01.00-14-856/12-00 z dnia 20.05.2013 r. ByTheWay - specyfikacja Strona: 113 1. Podstawowa funkcjonalność strony Opis: Diagram przypadków użycia prezentuje połączenia między aktorami i przypadkami użycia które dany aktor może wykonać. Na diagramie widać podstawową funkcjonalność serwisu. Zaprezentowane są operacje które mogą zostać wywołane przez użytkownika. ByTheWay - specyfikacja Strona: 114 ByTheWay - specyfikacja Strona: 115 2. Schemat wyglądu portalu Strona główna Header: Nagłówek jest fragmentem strony który powtarza się na każdej podstronie. W nagłówku po lewej stronie umieszczone jest logo strony. Po kliknięciu w logo użytkownik przenoszony jest do strony głównej. W prawym górnym rogu nagłówka znajdują się przyciski umożliwiające zalogowanie się bądź rejestrację. Dodatkowo zamieszczone są przyciski pozwalające zwiększyć ByTheWay - specyfikacja Strona: 116 wielkość czcionki – dla osób z problemami z widzeniem. W głównym menu znajdują się następujące przyciski: • Przewiozę – dodaj informację o możliwości przewiezienia osoby. Przenosi do strony „Dodaj przejazd” jeżeli użytkownik zalogowany, jeżeli nie przenosi do strony „Rejestracja” • Chcę przewieźć - dodaj informację o możliwości przewiezienia paczki. Przenosi do strony „Dodaj przejazd” jeżeli użytkownik zalogowany, jeżeli nie przenosi do strony „Rejestracja” • Szukam trasy – dodaj informację o chęci przewiezienia osoby lub paczki. Przenosi do strony „Zaawansowane szukanie” jeżeli użytkownik zalogowany, jeżeli nie przenosi do strony „Rejestracja” • Grupy dojazdowe – wyświetla listę grup dojazdowych. Na liście znajdują się grupy publiczne oraz grupy prywatne do których należy użytkownik. Przenosi do strony „Lista grup” jeżeli użytkownik zalogowany, jeżeli nie przenosi do strony „Rejestracja” • Idea carpoolingu – wyświetla informację o idei carpooling. Przenosi do strony „Podstrona” zawierającej informacje o carpoolingu • 8.1 PO IG - wyświetla informację o programie 8.1 PO IG. Przenosi do strony „Podstrona” zawierającej informacje o programie 8.1 PO IG Content: Zawiera treść każdej strony. Na stronie głównej w tej sekcji znajdują się następujące fragmenty: • Zdjęcie/slider – fragment zawiera zdjęcia powiązane z tematyką portalu, w momencie kiedy użytkownik nie jest zalogowany pojawia się okno logowania. • Wyszukiwarka przejazdów – okno szybkiego wyszukiwania tras, zawierające pola „skąd” i „dokąd” • Panel z danymi portalu – ile kilometrów wspólnie przejechali nasi użytkownicy, ile pieniędzy udało się użytkownikom zaoszczędzić, o ile gramów udało się zmniejszyć emisję CO2 • Panel z najnowszymi dodanymi trasami – wyświetla kilaka ostatnio dodanych tras, trasy te zaznaczone są na mapie, po klikniecie na daną trasę wyświetla się strona zawierająca szczegóły przejazdu • Mapa – zawiera trasy ostatnio dodanych przejazdów • Aktualności – zawiera informacje o najnowszych wydarzeniach na stronie. Po kliknięciu na daną aktualność wyświetlona zostanie strona z pełną treścią aktualności Footer: Stopka strony, zawiera listę linków do podstron. Pod listą linków znajduje się panel zawierający loga programu innowacyjna gospodarka, BNSolutions.pl, Europejskiego funduszu rozwoju regionalnego. Pod panelem z logami znajduje się informacja o autorze strony. W prawym dolnym rogu znajdują się linki do następujących stron: FAQ, Zaloguj się/Zarejestruj się, Pomoc, Regulamin, Mapa strony. ByTheWay - specyfikacja Strona: 117 Dodaj przejazd: Strona umożliwiająca dodanie nowego przejazdu. Punkty startowe można wyznaczyć przy użyciu mapy przeciągając znaczniki na mapie oznaczające start i metę lub wpisując nazwy miast. Dodatkowo wyznaczając trasę przejazdu istnieje możliwość dodania punktów przez które będzie przejeżdżać auto. Przy wypełnianiu formularza można wybrać opcję przewozu paczki lub osoby. Po wybraniu rodzaju przewozu należy wypełnić dodatkowe opcje przejazdu: czas wyjazdu, cena za przejazd, ilość wolnych miejsc, rodzaj transportu, czy jest to przejazd cykliczny. W przypadku paczki należy podać maksymalne gabaryty paczki, maksymalną wagę paczki oraz ilość możliwych do przewiezienia paczek. Po klikniecie w przycisk dodaj przejazd zostaje zapisany w bazie i wyświetlona zostaje strona ze szczegółowymi informacjami tego przejazdu. ByTheWay - specyfikacja Strona: 118 Lista grup Strona zawiera listę dostępnych grup do których użytkownik może dołączyć. Obok każdej grupy znajduje się informacja o liczbie członków i liczbie dostępnych przejazdów. Grupy można sortować po kategoriach. Z poziomu tej strony można tworzyć własne grupy. Po kliknięciu na grupę zostanie wyświetlona strona główna tej grupy wraz z dostępnymi przejazdami. ByTheWay - specyfikacja Strona: 119 Grupa Na stronie grupy znajduje się nazwa danej grupy oraz kategoria do której należy. Właściciel może ustawić logo grupy, baner oraz krótki opis. Pod informacjami znajduje się lista ostatnio dodanych przejazdów (po kliknięciu w przejazd wyświetlona zostanie strona ze szczegółami ByTheWay - specyfikacja Strona: 120 przejazdu) oraz przycisk z możliwością wyświetlenia całej listy dostępnych przejazdów. Pod grupą użytkownicy mogą umieszczać posty i je komentować. Profil użytkownika Na tej stronie wyświetlony jest profil użytkownika. W nagłówku profilu mieszczą się następujące ByTheWay - specyfikacja dane: • • • • • • Strona: 121 zdjęcie użytkownika nazwę użytkownika link do strony zawierającej wiadomości użytkownika przycisk z prośbą o weryfikację użytkownika panel statystyk danego użytkownika zawierający informacje o tym: o ile kilometrów przejechał o ile złotych zaoszczędził o ile mniej CO2 wyemitował Poziom użytkownika z podziałem na: o Przebieg o Rozmowność o Muzyka o Odznaki Pod nagłówkiem zanjduje się panel z listą zarezerwowanych tras. Na liście widoczne są takie informacje jak: • Zdjęcie użytkownika • Przebieg trasy • Data rozpoczęcia przejazdu • Link do wysłania wiadomości do użytkownika • Możliwość usunięcia trasy • Link do pełnej listy zarezerwowanych tras Po kliknięciu na przejazd wyświetlone zostaną jego szczegółowe informacje. Pod listą zarezerwowanych tras znajduje się lista tras obserwowanych zawierająca następujące dane: • Zdjęcie użytkownika • Przebieg trasy • Data rozpoczęcia przejazdu • Link do wysłania wiadomości do użytkownika • Możliwość usunięcia trasy • Link do pełnej listy obserwowanych tras Po kliknięciu na przejazd wyświetlone zostaną jego szczegółowe informacje. Pod listą obserwowanych tras znajduje się lista tras które oferuje użytkownik, lista zawiera następujące dane: • Przebieg trasy • Data rozpoczęcia przejazdu • Możliwość usunięcia trasy • Link do pełnej listy obserwowanych tras Menu użytkownika znajduje się po lewej stronie podstrony. Z menu można dostać się do następujących stron: • Lista grup użytkownika – wyświetla grupy do których należy użytkownik • Ustawienia profilu – wyświetla formularz edycji ustawień profilu • Bądź premium – wyświetla formularz opłacenia konta premium • Reklamodawca – wyświetla listę reklam użytkownika ByTheWay - specyfikacja Strona: 122 Lista grup użytkownika Strona zawiera listę grup do których należy użytkownik. Grupy które należą do użytkownika mają udostępnioną opcję edycji. Grupy prywatne które należą do użytkownika mają udostępnione opcje: • wyświetlenia statystyk grupy • wysłania komunikatu grupowego do wszystkich członków • wyświetlenia listy członków grupy i zarządzania ich prawami • wyświetlenia listy postów grupy Gdy użytkownik należy do grupy publicznej i nie jest jej właścicielem może tylko wyświetlać posty zamieszczone na danej grupie. Podczas dodawania grupy kiedy użytkownik zaznaczy opcję „grupa prywatna” wyświetlony zostanie formularz płatności. ByTheWay - specyfikacja Zarządzanie członkami grupy Na stronie wyświetlona jest lista członków grupy. Właściciel grupy może: • pisać prywatne wiadomości do członków grupy • usunąć członka grupy • wyświetlić dane użytkownika Strona: 123 ByTheWay - specyfikacja Strona: 124 Profil premium Na stronie możliwość weryfikacji użytkownika za pomocą przesłania skanu dowodu osobistego. ByTheWay - specyfikacja Strona: 125 Profil reklamodawca Na stronie zawarte są reklamy umieszczone przez użytkownika. Do każdej reklamy dodane są: • Zdjęcie • Opis • Link • Przycisk edycji • Przycisk usunięcie • Przycisk przedłużenia reklamy • Informacje o reklamie( ile czasu pozostało/wyświetleń) W momencie przyciśnięcia przycisku dodania reklamy pojawia się formularz płatności. ByTheWay - specyfikacja Strona: 126 Ustawienia profile Strona umożliwia edytowanie ustawień profilu. Na stronie istnieje możliwość przejścia do okna weryfikacji. Na stronie można zmienić następujące dane: • Tytuł • Imię • Nazwisko • Numer telefonu • Informacje o wyświetlaniu nr telefonu • Zdjęcie • Informacje o użytkowniku • Marka samochodu • Rocznik samochodu ByTheWay - specyfikacja Strona: 127 Rejestracja Strona umożliwia rejestrację/logowanie w portalu. Na stronie można użyć opcji szybkiego połączenia portalu z profilem społecznościowym (Facebook.com, Google+). ByTheWay - specyfikacja Strona: 128 Podstrona Przykład wyglądu podstrony, nagłówek i stopka powielone ze strony głównej. Treść podstrony ustanawiana jest w systemie CMS. ByTheWay - specyfikacja Lista dokonanych przejazdów Lista zawiera informacje o dokonanych przejazdach: • Dane osoby (zdjęcie, nazwa) • Trasę przejazdu • Data przejazdu • Przycisk ocenienia przejazdu Przejazdy są oceniane przez pasażerów i kierowców. Strona: 129 ByTheWay - specyfikacja Strona: 130 Lista obserwowanych przejazdów Lista zawiera przejazdy dodane przez użytkownika jako przejazdy obserwowane. Lista zawiera następujące informacje: • Dane osoby (zdjęcie, nazwa) • Trasę przejazdu • Data przejazdu • Przycisk usunięcia trasy z obserwowanych • Przycisk rezerwacji przejazdu Pod listą jest dodatkowy przycisk do dodania obserwowanej trasy. Jeżeli trasa nie jest aktualnie dostępna wyświetlona zostanie na liście tras na których aktualnie nie ma dostępnych przejazdów. ByTheWay - specyfikacja Lista zarezerwowanych tras Lista tras które zostały już zarezerwowane. Lista zawiera następujące informacje: • Dane osoby (zdjęcie, nazwa) • Trasę przejazdu • Data przejazdu • Przycisk usunięcia trasy z zarezerwowanych • Przycisk rezerwacji dodatkowego miejsca w aucie Pod listą jest dodatkowy przycisk do dodania zarezerwowanej trasy. Strona: 131 ByTheWay - specyfikacja Strona: 132 Lista otrzymanych wiadomości Strona zawiera listę wiadomości otrzymanych przez użytkownika. Lista zawiera następujące informacje: • Przycisk zaznaczenia wiadomości • Dane osoby (zdjęcie, nazwa) • Treść wiadomości • Data otrzymania wiadomości • Przycisk odpowiedzi na wiadomość • Przycisk usunięcia wiadomości Wiadomości podświetlone są na różne kolory w zależności czy zostały już wyświetlone czy nie. W lewym górnym rogu znajduje się przycisk służący do zaznaczenia jednym kliknięciem ByTheWay - specyfikacja Strona: 133 wszystkich wiadomości z danej strony. Pod listą jest dodatkowy przycisk do usunięcia wielu wiadomości za jednym razem. Wiadomości które zostaną zaznaczone po naciśnięciu przycisku zostaną usunięte. Pod listą jest dodatkowy przycisk do oznaczenia wiadomości jako przeczytanych za jednym kliknięciem. Wiadomości które zostaną zaznaczone po naciśnięciu zmienią swój status na przeczytane. ByTheWay - specyfikacja Strona: 134 Wyniki wyszukiwania Strona zawiera listę tras zgodnych z parametrami podanymi w wyszukiwarce. Lista zawiera następujące informacje: • Dane osoby (zdjęcie, nazwa) • Cenę przejazdu • Datę wyjazdu • Trasę przejazdu • Liczbę dostępnych miejsc w aucie • Czas podróży • Środek transportu • Ocenę kierowcy ( po najechaniu pojawia się informacja z poziomem użytkownika) • Przycisk dodania trasy do obserwowanych • Przycisk rezerwowania trasy ByTheWay - specyfikacja Po kliknieciu na dany wynik wyświetlają się szczegóły trasy. Szczegóły trasy Strona: 135 ByTheWay - specyfikacja Strona: 136 Okno prezentujące szczegółowe dane trasy. W lewym górnym rogu znajdują się dane użytkownika oraz dane kontaktowe: • Dane osoby (zdjęcie, nazwa) • Godzina wyjazdu • Telefon kontaktowy • E-mail kontaktowy • Sposób płatności • Informacja czy użytkownik jest palący • Informacja czy użytkownik jest zweryfikowany • Link do profilu użytkownika – po naciśnięciu zostaje wyświetlony profil użytkownika • Przycisk dodania trasy do obserwowanych – po naciśnięciu trasa zostanie dodana do listy obserwowanych tras • Przycisk rezerwowania trasy – po naciśnięciu trasa zostanie dodana do listy tras zarezerwowanych Nad trasą znajdują się informacje o przejeździe: • Koszt przejazdu • Data wyjazdu • Trasa przejazdu • Ilość wolnych miejsc w aucie • Czas podróży • Środek lokomocji Nad mapą przejazdu znajduje się też krótki opis danej trasy napisany przez kierowcę. Na mapie wyświetlone są punkt początkowy, punkt końcowy oraz opcjonalnie punkty przez które będzie przejeżdżać auto. Pod mapą po lewej stronie znajduje się panel z przyciskami umożliwiającymi zamieszczenie postu o trasie na profilach społecznościowych: • Facebook.com • Twitter.com • Google+ Na prawo od panelu z przyciskami społecznościowymi istnieje możliwość dodania komentarza do danej trasy. ByTheWay - specyfikacja Strona: 137 Zaawansowane wyszukiwanie Strona umożliwiająca zaawansowane wyszukanie przejazdu. Punkty startowe można wyznaczyć przy użyciu mapy przeciągając znaczniki na mapie oznaczające start i metę lub wpisując nazwy miast. Przy wypełnianiu formularza można wybrać opcję przewozu paczki lub osoby. Po wybraniu rodzaju przewozu należy wypełnić dodatkowe opcje przejazdu: czas wyjazdu od, czas wyjazdu do, cena za przejazd od, cena za przejazd do, ilość wolnych miejsc, rodzaj transportu, ocena użytkownika. W przypadku paczki należy podać maksymalne gabaryty paczki oraz maksymalną wagę paczki. Istnieje możliwość wyszukiwania przejazdów tylko z grup do których należy użytkownik. Po naciśnięciu przycisku szukaj zostaje wyświetlona lista tras które odpowiadają parametrom wyszukiwania.