Nazwa ogólna: TricityTravel - asystent podróży po Trójmieście
Nazwa krótka: TricityTravel
- Agnieszka Maciejewska
- Maciej Królik
- Krzysztof Mikołajczyk
Aplikacja mobilna ułatwiająca podejmowanie decyzji o poruszaniu się po Trójmieście. Uwzględnia wskazówki do podróży komunikacją miejską, poruszania się autem oraz wskazuje aktualną pogodę.
W1. Osoba zainteresowana TricityTravel [kto] w ramach dedykowanej platformy sprzedażowej po uprzednim zalogowaniu się na koncie Google [gdzie] może pobrać aplikację na swoje urządzenie mobilne z systemem Android w wersji minimum 6.0 [co]
W2. Użytkownik aplikacji TricityTravel [kto] w zakładce z ustawieniami [gdzie] może spersonalizować swoje ustawienia dotyczące poruszania się po Trójmieście (ustawienia pogody; przystanków, z których korzysta użytkownik; wybranej trasy w podróży samochodem; ustawienia tagów do poboru informacji z Trójmiasto.pl) [co].
W3. Użytkownik aplikacji TricityTravel [kto] w zakładce "Samochód" [gdzie] wyświetla czas najkrótszego przejazdu od podanego punktu A do B na podstawie danych Here Maps [co].
W4. Użytkownik aplikacji TricityTravel [kto] w zakładce "Transport publiczny" [gdzie] wyświetla listę linii transportu publicznego w połączeniu z przystankami, które zostały wybrane w ustawieniach oraz informacje na temat rzeczywistych czasów przyjazdu danego pojazdu na podstawie Otwartych Danych ZTM Gdańsk [co].
W5. Użytkownik aplikacji TricityTravel [kto] w zakładce "Pogoda" [gdzie] wyświetla informacje meteorologiczne w wybranym w ustawieniach mieście na podstawie danych OpenWeatherMap [co].
W6. Użytkownik aplikacji TricityTravel [kto] w zakładce "Raport" [gdzie] wyświetla informacje z Raportu Trójmiasto (trojmiasto.pl) o utrudnieniach w poruszaniu się po Trójmieście na podstawie tagów (słów kluczowych) wybranych przez użytkownika [co].
W7. Użytkownik aplikacji TricityTravel [kto] we wszystkich zakładkach aplikacji [gdzie] sprawnie ładuję dane(do 1s)[co].
Prowadzący ma prawo przekazywać projekt innym studentom w celu dzielenia się wiedzą.
Scenariusz dotyczy: W1
Cel testu: Testowanie poprawnego pobierania oraz instalowania aplikacji TricictyTravel na urządzeniu mobilnym.
Sposób dostępu: Widok wywoływany.
Scenariusz (kroki testowe):
- Wyszukanie aplikacji TricityTravel w sklepie Google Play i klinkięcie przycisku pobierz.
- Urządzenie mobilne pobierze aplikacje.
- Urządzenie mobilne poinformuję nas o zainstalowaniu aplikacji.
Scenariusz dotyczy: W2
Cel testu: Testowanie personalizacji ustawień dotyczących pogody.
Sposób dostępu: Widok wywoływany poprzez wybranie z menu "Ustawienia"
Scenariusz (kroki testowe):
- Wpisanie w pole tekstowe nazwy miasta.
- Wybranie przycisku "Zapisz".
- Poprawne wyświetlenie pogdoy dla wybranego miasta w zakładce "Pogoda".
Scenariusz dotyczy: W2
Cel testu: Testowanie personalizacji ustawień dotyczących transportu publicznego.
Sposób dostępu: Widok wywoływany poprzez wybranie z menu "Ustawienia"
Scenariusz (kroki testowe):
- Wybranie przycisku "Edytuj listę linii".
- Wybranie przycisku "Dodaj" obok wybranego przystanku.
- Zaznaczenie checkboxem linii, które chcemy dodać do swoich ustawień.
- Wybranie przycisku "Zapisz".
- Wyświetlenie listy przystanków.
- Dodanie przystanku do listy.
Scenariusz dotyczy: W2
Cel testu: Testowanie ustawienia tagów do poboru informacji z Trojmiasto.pl
Sposób dostępu: Widok wywoływany poprzez wybranie z menu "Ustawienia".
Scenariusz (kroki testowe):
- Wpisanie tagu w pole tekstowe.
- Naciśnięcie enter na klawiaturze ekranowej.
Tag wyświetla się poniżej pola tekstowego.
Scenariusz dotyczy: W3
Cel testu: Testowanie wyświetlania czasu dojazdu do punktu docelowego dla podanych danych.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Samochód"
Scenariusz (kroki testowe):
- Wpisanie punktu początkowego w pole tekstowe.
- Wpisanie punktu docelowego w pole tekstowe.
- Wybranie przycisku "Czas przejazdu"
- Wyświetlenie informacji na temat czasu dojazdu.
Scenariusz dotyczy: W4
Cel testu: Testowanie funkcjonalności usuwania przystanków z listy zapisanych w ustawieniach.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Transport publiczny".
Scenariusz (kroki testowe):
- Naciśnięcie i przytrzymanie na wybranym przystaku.
- Wybranie opcji Tak w celu usunięcia przystanku z listy.
- Aplikacjia usunie przystanek z listy.
Scenariusz dotyczy: W4
Cel testu: Testowanie funkcjonalności usuwania przystanków z listy zapisanych w ustawieniach.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Transport publiczny".
Scenariusz (kroki testowe):
- Naciśnięcie i przytrzymanie na wybranym przystaku.
- Wybranie opcji Nie w celu usunięcia przystanku z listy.
- Aplikacjia nie usunie przystanku z listy.
Scenariusz dotyczy: W4
Cel testu: Testowanie funkcjonalności wyświetlenia rzeczywistych czasów przyjazdu danego pojazdu.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Transport publiczny".
Scenariusz (kroki testowe):
- Kliknięcie na wybrany przystanek.
- Przeciągnięcie palcem w dół - odświeżenie widoku.
- Odświeżenie listy linii.
- Wyświetlenie rzeczywistych czasów przyjazdów(opóźnienie - kolor czerwony, punktualny - kolor zielony, przed czasem - kolor pomarańczowy).
Scenariusz dotyczy: W5
Cel testu: Testowanie funkcjonalności wyświetlenia informacji pogodowych.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Pogoda".
Scenariusz (kroki testowe):
- Kliknięcie przycisku "Odśwież" - odświeżenie danych.
- Wyświetlenie aktualnych danych pogodowych.
Scenariusz dotyczy: W6
Cel testu: Testowanie funkcjonalności wyświetlenia Raportu Trójmiasto.
Sposób dostępu: Widok wywoływany poprzez wybranie z dolnego menu zakladki "Raport".
Scenariusz (kroki testowe):
- Brak.
- Wyświetlenie listy nagłówków z Raportu Trójmiasto.
Scenariusz dotyczy: W7
Cel testu: Testowanie szybkości aplikacji.
Sposób dostępu: Widoki wywoływane przez wybranie z dolnego menu kolejnych zakładek.
Scenariusz (kroki testowe):
- Wybranie zakładki "Pogoda".
- Wybranie zakładki "Transport publiczny".
- Wybranie zakładki "Samochód".
- Wybranie zakładki "Raport".
- Subiektywnie szybkie (do 1s) wyświetlenie widoku.
- Skopiowanie pliku .apk z folderu /apk projektu na urządzenie mobilne z systemem Android w wersji 6.0 lub wyższej,
- Wyszukanie pliku na urządzaniu mobilnym i instalacja aplikacji,
- (Opcjonalnie) Zezwolenie na instalację aplikacji z nieznanych źródeł.
- Pobranie i instalacja programu Android Studio w wersji 3.4 lub wyższej,
- Rozpaknowanie pliku .zip, lub sklonowanie projektu z serwisu GitHub do dowolnej lokalizacji na komputerze,
- W Android Studio wybranie opcji File/Open i wskazanie rozpakowanego projektu. Android Studio automatycznie pobierze wszystkie wymagane biblioteki i skompiluje projekt,
- Utworzenie bezpłatnych kont w serwisach https://openweathermap.org/ oraz https://developer.here.com/ i wygenerowanie kluczy API,
- W folderze \app\src\main\java\com\aib\tricitytravel\data utworzenie pliku APIKeys.kt o zawartości podanej poniżej oraz zamiana odpowiednich pól na własne, wygenerowane wcześniej, klucze API,
package com.aib.tricitytravel.data
object APIKeys {
const val OPEN_WEATHER_KEY = "<tu wkleić klucz OpenWeatherMap>"
const val HERE_APP_ID = "<tu wkleić klucz Here App ID>"
const val HERE_APP_CODE = "<tu wkleić klucz Here App Code>"
}
- Utworzenie bezpłatnego konta w serwisie https://firebase.google.com/,
- Utworzenie projektu o dowolnej nazwie w serwisie Firebase i postępowanie zgodnie z instrukcjami w celu podłączenia projektu w Android Studio z projektem w Firebase,
- Wdrożenie cloud function z folderu /firebase_cloud_functions w utworzonym projekcie Firebase zgodnie z instrukcją na stronie https://cloud.google.com/functions/docs/deploying/filesystem,
- Podmiana odnośnika "FIREBASE_DOMAIN" w pliku /data/URLs.kt na własny znajdujący się w zakładce "Functions" w serwisie Firebase,
package com.aib.tricitytravel.data
object URLs {
const val ZTM_DOMAIN = "http://87.98.237.99:88/"
const val FIREBASE_DOMAIN = "<tu wkleić własny link do cloud function downloadBusStopsFromFirebase>"
const val OPEN_WEATHER_DOMAIN = "https://api.openweathermap.org/"
const val HERE_GEOCODER_DOMAIN = "https://geocoder.api.here.com/"
const val HERE_ROUTE_DOMAIN = "https://route.api.here.com/"
const val TROJMIASTO_REPORT = "https://www.trojmiasto.pl/raport/"
}
- W Android Studio kliknięcie Run/Run 'app' i wybranie emulatora lub fizycznego urządzenia w celu uruchomienia aplikacji.
- data - zawiera klasy odpowiedzialne za pobieranie danych z web service'ów, zapis w lokalnej bazie danych, a także wszystkie modele i obiekty DTO (Data Transfer Objects),
- di - zawiera moduły i komponenty wykorzystywane przez bibliotekę Dagger 2 potrzebne do wstrzykiwania zależności (Dependency Injection),
- ui - zawiera wszystkie klasy widoków w aplikacji, wewnątrz pakietu zastosowany jest dodatkowy podział według zasady "package by feature",
- util - zawiera klasy pomocnicze m. in. wykorzystywane w data binding.
Copyright © 2019 by Agnieszka Maciejewska, Maciej Królik, Krzysztof Mikołajczyk. TricityTravel
This application is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-nd/4.0/.