1.) Overview
2.) Product Specs
3.) WireFrames
4.) Schema
5.) Milestones
Allows users to tailor their journey based on their preference and interest for an unforgettable experience. Great for solo, group, and first time travelers.
- Category: Travel
- Story: Analyzes user preferences and creates a selection of activities, restaurants, and other excursions the user and/or group will enjoy. The users traveling in a group will be allowed to vote on which they would like to do and a budget will be created for each person to make planning the trip easier.
- Market: Anyone over the [age limit] will be able to use this app as it allows for in-app purchases. In order to keep a safe enviorment, the creater/organizer of the trip will be given an access code to invite people on the trip. This access code will allow users to have access to that trip and only that trip outside of any they create on their own.
- Habit: This app can be used often or unoften depending on how long it takes to save money and plan for the trip. The itinerary created via the app can also be used during the trip to allow users to stick to a schedule.
- Scope: First, we will start by allowing users to pick their preferences in regards to traveling, then we will allow them the option to make it a group trip or keep it solo. From there, an itinerary will be created that the user can change as they see fit. In a group setting the itinerary will be voted on, anything less then the majority will be placed in a file for the designated person to have on their next itinerary if they visit there again. Based on the itinerary, a budget will be created for how much each person needs to save before purchasing the tickets, making a reservation, etc.. Potential to expand to booking hotels, flights, etc.
- Login / Sign up
- Create a trip
- Travel Preferences / History / Interests
- In-App Messaging
- Itinerary Creation + Voting
- Safety Features: Location Sharing
- Total Cost / Price Tracker
- Offline Access
- Integration with Travel Agencies
- Local Event Calendar
- Weather Integration
- Travel Guides
- Language Translator
- Currency Converter
- Login Screen
- Upon downloading / redownloading the user is prompted to register or log in. If user chooses to log in their account information will be loaded into the application.
- Registration Screen
- Upon downloading the user is prompted to register or log in to acces the application and their profile information or create a profile.
- User Preferences (e.g. food, weather / climate, activities, etc.)
- Safety Features will be included in this process:
- Location Sharing Enabled/Disabled
- Emergency Contact Info
- Home "Trips" Screen
- Upon entering / register / logging in the user is taken to the home page where their "trips" both upcoming and trips they have in progress of planning will be listed. All trips will have the ability to be clicked on to see details about the trip including:
- Budget / Total Cost of Trip
- Members of Trip
- Flight Date(s)
- Accommodations (Hotels, AirBnBs, etc.)
- Itinerary
- Progress of Trip
- Upon entering / register / logging in the user is taken to the home page where their "trips" both upcoming and trips they have in progress of planning will be listed. All trips will have the ability to be clicked on to see details about the trip including:
- Messaging Screen
- Allows users to chat 1-on-1 or in a group to keep information / converstations about the trip in one place. User is able to create a new direct message to members / friends on their friends list or in the same group. Group trips will automatically create a group chat.
- Map Screen
- This will allow the users to have the location of their friend list along side seeing the location of the destination of their upcoming trip.
- If the trip has multiple stops (e.g. Tokyo, Kyoto, Hirsohima) the icon for the trip will move to that location on the start date of that trip.
- This will allow the users to have the location of their friend list along side seeing the location of the destination of their upcoming trip.
- Explore "Destinations" Screen
- This will give the users suggestions of places to visit while in the area for their trip. If the user is not on a trip but planning on it will give suggesstions of places to visit. All suggestions will be based off of preferences
- Profile / Settings Screen
- This will have application settings, alongside setting for the user. The user will be able to change their image, name, and any contact information. The user will also be able to add / change / delete preferences.
- Messages
- Maps
- Home
- Explore
- Profile / Settings
- Login -> Sign Up if no log in is available
- Home "Trips": List of upcoming tips / in progress trips
- Create new Trip
- Trip Itinerary
- Explore: Places the user might be interest in exploring
- Destinations are clickable with a pop-up screen that shows destination details
- Create New trip will be a button user can click on destination to create a new trip
- Destinations are clickable with a pop-up screen that shows destination details
- Messages
- Group Chat Messages will be contain a screen for message thread of all users going on the trip
- Direct Message will contain private messages between two users
- Create Direct Message will allow users to choose who they want to message
- Profile / Settings
- List of options for users to choose from each will display its own content of information on its own screen
- Maps
- Map of users live location, if user is clicked information about their location will pop up
- Destination Location, if clicked will show information about the trip
Property | Type | Description |
---|---|---|
userID | String | Default Field |
username | String | user username credentials |
String | user email credentials | |
password | String | user password credentials |
profileImg | File | user profile image |
preferences | Array | e.g. food, weather/climate, activites, etc. |
locationSharingEnabled | Boolean | does the user want to share location |
emergencyContactInfo | Array | user emergrency contact (name, number, relationship) |
friendsList | Array | references other User objects |
trips | Array | reference to Trip objects |
notificationSetting | Array | pushNotificationsEnabled: Boolean, inAppNotificationsEnabled: Boolean |
Property | Type | Description |
---|---|---|
tripID | String | Default Field |
user | Pointer | reference to owner of trip |
name | String | name of trip |
budget | Number | budget for trip |
totalCost | Number | total cost of trip |
members | Array of pointers | reference to User objects |
startDate | DateTime | start date of trip |
endDate | DateTime | end date of trip |
flightDates | Array | reference to DateTime objects |
accommodations | Array | reference to Accommodation objects |
itinerary | Array | reference to Itinerary objects |
progress | String | planning, in progress, completed |
Property | Type | Description |
---|---|---|
messageID | String | Default Field |
sender | reference | reference to user object sender of message |
receiver | reference | reference to user object receiver of message |
content | String | content of the message |
timestamp | DateTime | when message was sent |
isRead | Boolean | been read by the recipient |
notificationSent | Boolean | notification sent to recipient |
image | File | image or GIF file sent |
messageType | String | e.d., text, image, GIF, etc. |
Property | Type | Description |
---|---|---|
accommodationID | String | Default Field |
name | String | e.g., hotel name |
location | String | e.g., address |
checkInDate | DateTime | Day / Time of check in |
checkOutDate | DateTime | Day / Time of check out |
Property | Type | Description |
---|---|---|
itineraryID | String | Default Field |
date | DateTime | Day / Time of activity |
activity | String | e.g., name of activity |
location | String | e.g., name of place |
notes | String | optional |
- Authenication Services: Firebase Authentication
- Backend Database : Firebase Realtime Database
- Messaging: Firebase Cloud Messaging (FCM)
- Map: Google Maps SDK
- Location Sharing: Device Location Service
- Other: Backend Service to fetch and update data