ProductsLogo
LogoStudy Documents
LogoAI Grader
LogoAI Answer
LogoAI Code Checker
LogoPlagiarism Checker
LogoAI Paraphraser
LogoAI Quiz
LogoAI Detector
PricingBlogAbout Us
logo

TRIP itinerary DOCUMENTATION

Verified

Added on  2023/06/09

|30
|3290
|368
AI Summary
This documentation provides a detailed overview of the Trip Itinerary feature of Desklib, an online library for study material with solved assignments, essays, dissertation, etc. It includes use case, actor role and description, entity relationship diagram, database design, class diagram, sequence diagram, user interface design, external libraries used, and test plan. The documentation also includes tables and figures to provide a better understanding of the system.

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
RO CHAN
TRIP ITINERARY
DOCUMENTATION

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Table of Contents
LIST OF FIGURES................................................................................................................II
LIST OF TABLES..................................................................................................................II
USE CASE................................................................................................................................1
DIAGRAM...............................................................................................................................1
ACTOR ROLE AND DESCRIPTION..........................................................................................1
DESCRIPTION.........................................................................................................................2
ENTITY RELATIONSHIP DIAGRAM................................................................................8
DATABASE DESIGN..............................................................................................................9
CLASS DIAGRAM................................................................................................................12
SEQUENCE DIAGRAM.......................................................................................................13
USER INTERFACE DESIGN..............................................................................................14
EXTERNAL LIBRARIES....................................................................................................19
TEST PLAN............................................................................................................................20
UNIT TESTING......................................................................................................................20
INTEGRATION TESTING.......................................................................................................20
FUNCTIONALITY TESTING...................................................................................................20
TEST CASES..........................................................................................................................20
IMPLEMENTATION...........................................................................................................24
REQUIREMENTS...................................................................................................................24
CHANGING GOOGLE DEVELOPER SERVICES ACCOUNT....................................................24
i
Document Page
List of figures
Figure 1: Use case diagram........................................................................................................1
Figure 2: Entity relationship diagram........................................................................................8
Figure 3: Class diagram...........................................................................................................12
Figure 4: Sequence diagram.....................................................................................................13
Figure 5: Login page................................................................................................................14
Figure 6: Trips page.................................................................................................................14
Figure 7: Friends page..............................................................................................................15
Figure 8: Add friend page........................................................................................................15
Figure 9: View trip page..........................................................................................................16
Figure 10: Itinerary..................................................................................................................16
Figure 11: View location page.................................................................................................17
Figure 12: Add plan page.........................................................................................................17
Figure 13: New trip..................................................................................................................17
Figure 14: View event..............................................................................................................18
Figure 15: Edit event................................................................................................................18
Figure 16: Changing Google services account........................................................................24
List of tables
Table 1: User actor.....................................................................................................................1
Table 2: Friend actor..................................................................................................................1
Table 3: Logging in description table........................................................................................2
Table 4: Add friend description.................................................................................................2
Table 5: Add traveller description.............................................................................................3
Table 6: Accept or reject invite description...............................................................................3
Table 7: Add trip description.....................................................................................................4
Table 8: Add event description..................................................................................................5
Table 9: Edit event description..................................................................................................6
Table 10: Delete event description.............................................................................................6
Table 11: User table...................................................................................................................9
Table 12: Trip table....................................................................................................................9
Table 13: Friend table................................................................................................................9
ii
Document Page
Table 14: Share Trip table........................................................................................................10
Table 15: Event table...............................................................................................................10
Table 16: Test cases.................................................................................................................20
iii

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Use case
Diagram
Figure 1: Use case diagram
Actor role and description
Table 1: User actor
Actor Name: User
Description: A person who has registered into the application
Table 2: Friend actor
Actor Name: Friend
Description: Added by a user for sharing trips. A friend can be an existing user or not.
A friend if not registered can register to be a user later and once logged in
they will be able to see their invites.
1
Document Page
Description
Table 3: Logging in description table
Use case name: Logging in
Use case ID:
Actor: User
Description: User logs into the application
Pre-conditions: Must have a Gmail account
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
Taps onto the login button,
chooses or inputs an account
then enters their password
Takes user to Google sign in
page and saves users
information when done.
Alternative Flow:
Side of Action Actor Action System Response
Table 4: Add friend description
Use case name: Adding friend
Use case ID:
Actor: User
Description: User adds a new friend
Pre-conditions: Must be logged in
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
Taps onto the friend button
then the add friend button.
The user then inputs the
friend’s name and email and
clicks on the save button.
Takes user to the add friend
page. Saves the friend
information provided by the
user to firebase
2
Document Page
Alternative Flow:
Side of Action Actor Action System Response
Table 5: Add traveller description
Use case name: Adding traveler to trip
Use case ID:
Actor: User
Description: User invites a friend to join trip
Pre-conditions: Must be logged in. Must have added a friend.
Post-conditions: Friend has to register on the application if not yet registered
Normal Flow:
Side of Action Actor Action System Response
Taps on trip to view the
details. Clicks on the add
traveler button then clicks
on the friend to be added to
the trip.
Takes user to the add
traveler button. Sends invite
to the chosen friend then
takes user back to the view
trip page while showing the
status of the invite.
Alternative Flow:
Side of Action Actor Action System Response
Table 6: Accept or reject invite description
Use case name: Accept or reject invite
Use case ID:
Actor: Friend or user
Description: Friend accepts user’s invite
Pre-conditions: Must be logged in
Post-conditions: Cost of trip calculated to include all those going to trip
Normal Flow:
Side of Action Actor Action System Response
3

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Friend registers and logs
into the application. Clicks
on the invites button. Tap
the accept button to accept
invite or the reject button to
refuse.
Uses Google API to verify
user and add them to users
table. Takes user to the
invites page. Changes status
of invite depending on the
user’s choice.
Alternative Flow:
Side of Action Actor Action System Response
User logs into the
application. Clicks on the
invites button. Tap the
accept button to accept
invite or the reject button to
refuse.
Uses Google API to verify
user credentials. Takes user
to the invites page. Changes
status of invite depending on
the user’s choice.
Table 7: Add trip description
Use case name: Add trip
Use case ID:
Actor: User
Description: User adds a new trip
Pre-conditions: Must be logged in
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
Taps onto the add trip button
and enters the required
information and clicks on
the save button.
Saves trip and takes user
back to the trips page.
Alternative Flow:
Side of Action Actor Action System Response
Use case name: Delete Trip
4
Document Page
Use case ID:
Actor: User
Description: User deletes a trip
Pre-conditions: Must be logged in. Must have added a trip.
Post-conditions: Trip status changed to deleted
Normal Flow:
Side of Action Actor Action System Response
Taps onto a trip from the
list. Click on the delete
button.
Takes user to view trip page
and process delete trip
request.
Alternative Flow:
Side of Action Actor Action System Response
Table 8: Add event description
Use case name: Add event
Use case ID:
Actor: User, Friend
Description: An event is added to a trip
Pre-conditions: Must be logged in.
Must be organizer of a trip or have accepted invite.
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
Navigates to itinerary page.
Click on the add button and
provide all the necessary
information then click on the
save button.
Takes user to the add event
page, saves event details and
returns user to the itinerary
page.
Alternative Flow:
Side of Action Actor Action System Response
5
Document Page
Table 9: Edit event description
Use case name: Edit event
Use case ID:
Actor: User, Friend
Description: An event’s details are modified
Pre-conditions: Must be logged in.
Must be organizer of a trip or have accepted invite.
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
Navigates to itinerary page.
Clicks on the event to be
modified from the list. Click
on the edit button and
modify the details then tap
on the save button
Takes user to the edit even
page and saves the new
event details.
Alternative Flow:
Side of Action Actor Action System Response
Table 10: Delete event description
Use case name: Delete event
Use case ID:
Actor: User, Friend
Description: An event is deleted from the itinerary
Pre-conditions: Must be logged in.
Must be organizer of a trip or have accepted invite.
Post-conditions:
Normal Flow:
Side of Action Actor Action System Response
6

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Navigates to the view event
page and clicks on the trash
can icon.
Takes user to view event
page and removes event
from the database.
Alternative Flow:
Side of Action Actor Action System Response
7
Document Page
Entity relationship diagram
An entity relationship diagram is a diagram that shows all the entities present in a system and
how they relate to each other in terms of the data stored and shared in the system.
Figure 2: Entity relationship diagram
8
Document Page
Database design
The database has five tables for storing the applications data. These include: User, Friend,
Trip, Event, and share trip.
Table 11: User table
Table: User
Column Description Type Remarks
ID User ID String Auto
Name Name of user String
Email Google email address String
Mobile Mobile phone number Char
Status Status Boolean 0: Inactive
1: Active
Table 12: Trip table
Table: Trip
Column Description Type Remarks
ID Trip ID String Auto
Name Name of Trip String
Description Description of trip Text
Start Date Trip start date Date
End Date Trip end date Date
City City of trip String
Place ID Google place ID of the city String
Main User User ID of main user String
Status Status Boolean 0: Deleted
1: Active
Table 13: Friend table
Table: Friend
Column Description Type Remarks
Name Name of friend String
9

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Email Email of friend String
User ID User ID of the user String
Table 14: Share Trip table
Table: Share_trip
Column Description Type Remarks
Trip ID ID of trip being shared String
User ID ID of user sharing the trip String
Status Status Integer 0: Pending
1: Accepted
2: Rejected
Table 15: Event table
Table: Event
Column Description Type Remarks
ID Event ID String Auto
Name Name of event String
Type Type of event String Options: Flight,
Hotel, Car rental,
Parking, Activity,
Restaurant,
Direction,
Transportation
Trip ID ID of trip where event
belongs
String
Start Date Event date or event start
date
Date
Start Time Event time or event start
time
Date
End Date Event end date Date
End Time Event end time Date
Location Location or start location of String
10
Document Page
event- google place ID
Destination Destination of event- google
place ID
String
Phone Phone number String
Website Website String
Booking Booking details Text Multiple Lines
Note Note Text Multiple Lines
Amount Cost of event Double
Currency Currency used String
Rate Exchange rate Double
Paid By User ID String The user who paid
11
Document Page
Class diagram
12

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
A class diagram shows all the different classes in a system and how they are connected to
each other.
Figure 3: Class diagram
13
Document Page
Sequence diagram
A sequence diagram shows the different interactions that happen in a system in
chronologically and in a logical manner. By using lifelines and messages.
Figure 4: Sequence diagram
14
Document Page
User interface design
The user interface design represent the look and feel of a system. This is how a system will
look to the users on the frontend regardless of all operations and complexity of the backend
of the system.
Figure 5: Login page
Figure 6: Trips page
15

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Figure 7: Friends page
Figure 8: Add friend page
16
Document Page
Figure 9: View trip page
Figure 10: Itinerary
17
Document Page
Figure 11: View location page
Figure 12: Add plan page
Figure 13: New trip
18

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Figure 14: View event
Figure 15: Edit event
19
Document Page
External Libraries
The external libraries used in the application include:
Alamofire - This is a module that was used for sending HTTP requests and getting
the responses
SwiftyJSON - This module was used to manipulate and manage the JSON results
from an HTTP request
GooglePlaces – This is a Google API that is used for identifying places
GooglePlacePicker – This is part of the GooglePlaces API that for searching and
picking specific locations and returning there data
GoogleAutoComplete – This is a Google API that is used to automatically complete
location searches by providing suggestions as the user types
GoogleMaps - Used for displaying different locations on a map using their
coordinates
Firebase – This is a Google realtime database that was used to store the application’s
data
20
Document Page
Test Plan
Unit testing
Every module of the application was tested as the application was being developed. This was
to ensure that the modules were working.
Integration testing
After the completion of development and testing of the modules, all modules were put
together and tested together. This was to ensure that no module affected how another worked
and also to ensure that the modules can work together seamlessly.
Functionality testing
The testing was done on the XCode simulator and iPhones. The application was built and
bundled then installed in the various devices after which the different functionalities of the
application were tested.
Test cases
Table 16: Test cases
Test
Scenario
Test steps Test data Expected
results
Actual
results
Pass/
Fail
Login with
valid
Google
account
Go to the
application
Click on sign in
Enter valid
google email.
Enter the correct
password.
Click on submit
An existing
Gmail
address
The correct
password
User logs into
application
As
expecte
d
Pass
Login with
valid
email
address
wrong
password
Go to the
application
Click on sign in
Enter valid
google email.
Enter the correct
password.
Click on submit
An existing
Gmail
address
The wrong
password
Error occurs As
expecte
d
Pass
21

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Login with
invalid
email
address
Go to the
application
Click on sign in
Enter invalid
google email.
Click next
An invalid
Gmail
address
Error occurs As
expecte
d
Pass
Add a new
trip
Sign into
application
Click on add
button in trips
page
Fill in the form
provided
Click on save
Trip details A new trip
added
As
expecte
d
Pass
View list
of all trips
Sign in to
application
All your trips
should be
displayed on the
first page
All trips
added or
where
invited
All trips shown As
expecte
d
Pass
Delete trip Sign into
application
Click on a trip
Click on delete
One of the
user’s trips
Trip not shown
on trips list after
deleting
As
expecte
d
Pass
Add friend Sign into
application
Click on friends
Click add
Enter friend
details
Click save
Friend’s
name
Friend’s
Gmail
address
A new friend
added
As
expecte
d
Pass
Add
traveler
Sign into the
application
One of the
user’s trips
Friend shown
under trip’s
As
expecte
Pass
22
Document Page
Click on a trip
Click add
traveler
Click on a friend
One of the
user’s
friends
travelers with
the current
status of the
invite
d
Accept
invite
Sign into the
application
Click on invites
Click on accept
on a trip
A shared
trip
Trip will show
up on the users
list of trips
As
expecte
d
Pass
Reject
invite
Sign into the
application
Click on invites
Click on reject
on a trip
A shared
trip
Invite no longer
shown
As
expecte
d
Pass
Add event Sign into the
application
Click on a trip
Click itinerary
Click add button
Add the event’s
details
Click save
A user’s trip
Event’s
details
Event added to
itinerary
As
expecte
d
Pass
Edit event Sign into the
application
Click on a trip
Click itinerary
Click on an
event
Click edit
Modify event
details
Click save
Event’s
details
Event details
modified
As
expecte
d
Pass
View Sign into the An event Event details As Pass
23
Document Page
event application
Click on a trip
Click itinerary
Click on an
event
shown expecte
d
Delete
event
Sign into the
application
Click on a trip
Click itinerary
Click on an
event
Click delete
An event Event removed
from itinerary
As
expecte
d
Pass
View
location
Sign into the
application
Click on a trip
Click itinerary
Click on an
event
Click location
An events
location
A map showing
direction from
user’s location
to event location
As
expecte
d
Pass
View
itinerary
Sign into the
application
Click on a trip
Click itinerary
All events
for a trip
All events for a
trip arranged
according to
dates and time
As
expecte
d
Pass
24

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Implementation
The application was implemented on an XCode simulator. It was also packaged and sent to a
few friends for the first phase of implementation which involves locally giving it to a few
people for a test run. If the first phase is successful, the application will be registered and
uploaded on Apple store for access and implementation by a wider group of people.
Requirements
Hardware requirements
iPhone
Software requirements
A minimum of iOS 9
Other requirement
Have a Google account
Changing Google developer services account
There are three Google services APIs used in the application that is Google Sign in, Firebase
and Google maps which uses the same API key as Google places. If ever the Google services
account being used needs to be changed, one needs to visit the three webpages.
25
Figure 16: Changing Google services account
Document Page
In the case of Google sign in one will have to generate an Oath Client ID and download the
credentials.plist file. Which contains the client ID and the reversed ClientID. From the
project’s info tab in XCode, go to URL types and replace the URL scheme with the reversed
client ID generated or create a new one and delete the old URL scheme. Also in the
AppDelegate.swift file the client ID has to be changed.
For Google maps one has to generate an API key from the webpage. After that, it is
recommended to add restrictions to the key to avoid it being used by other applications. Then
in AppDelegate.swift, the API key for maps and places should be replaced with the current
one.
In changing accounts for Firebase, go to the firebase console and create your application then
configure it depending on the type, in this case an iOS application. One will then be required
to provide some information to configure the database for your application. After the
configuration, a GoogleServices-info.plist file is downloaded. Add this file to the
application’s folder or download it directly into the application’s folder delete the currently
available file then from XCode go to File > Add files to [“Project”] and choose the
GoogleServices-info.plist file.
This should change all Google developer services to the new Google account.
26
1 out of 30
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]