Published using Google Docs
Product Backlog.docx
Updated automatically every 5 minutes

Product Backlog

Triportal

Team5

Team Member:

Yibo Gou, Yucong Ma, Ge Yan, Naiwei Zheng

  1. Problem Statement

Preparing for a trip always costs a great amount of time, it is always inconvenient to search for information of places of interests and form them into a single trip itinerary. To make this process simpler, our application focus on centralizing all the information, such as ratings of a place of interest, local traffic and weather. The application also provides a platform that users can post their trip itineraries onto; for users that are creating new trip plans, they can browse and fork the existing ones, editing these plans to new ones. Users can simply add interest points to the itinerary and the application will generate the total time and suggested route for the user.

  1. Background Information

Trip and traveling are one of the most popular activities when people are having vacations. According to Statista, 45 percents of internet users states they are using online traveling guides before traveling. However, only 6% of them will regularly use the now-existing online apps to create travel itinerary and most of the users who don’t use online method is because the tools online are not easy to use are they expected. As mobile applications are one the easier way for travellers to use while traveling. Our team recognizes that there is a great demand of a easier to use “trip-planning” mobile application that helps travelers plan, share and track their travel itineraries.

Our product focuses on providing these services within one single mobile app combined with information and recommendations of places of interests; deciding where to go, how long the trip will be as well as sharing users’ itinerary in the community, making it easier for others to plan their own travel plans. 

Although there are trip-planning applications on the market, they focus more on the process of planning rather than providing tracking or community-sharing which are provided by other applications. Our product’s combination of services created a “one-stop” solution to the problem of current products on the market where the process of planning and tracking a trip will be done using several applications.

  1. Requirements
  1. Functional

       As a user, I would like

                - to create and access my account information

                - to make a new itinerary for certain days

                - to choose the departure and return date

                                 - to extend my itinerary        

                - to add places of interest of specific day in my itinerary

                - to add hotels of specific day in my itinerary

                - to add traffic information of specific day in my itinerary

                - to view my itinerary

                - to view detailed information on each day

                - to have a route of my whole itinerary

                - to have a route of each day’s itinerary

                - to have a GPS navigation

                - to be tracked about the process of the itinerary

                - to add notes of each plan

                - to have an estimated cost of the trip

                - to view the rating of the places of interest, restaurant and hotel

                - to know the cost of different transportations

                - to know the weather information

                - to go to user center

                - to have a to do list prepare for the trip

                - to add cost

                - to access to the community of the application

                - to fork other’s itinerary

                - to edit the forked itinerary

                - to invite other users on a trip

           (if time allows)- to have recommandations places as ‘you may like’

           (if time allows)- to have a forum posting information on others’ itineraries 

           (if time allows)- to have a web page access to the same information listed above

           As a developer, I would like

                        - to collect information about places of interest, hotels and restaurants

                        - to save all users’ data

                        - to recommend nearby high-rating places to users

                        - to sort the places by rating and the users’ ‘want to’ marker

                        - to collect feedback from users

                        - sort information by different types

  1. Non-functional

Architecture and System requirements

        On client side, the application will use standard android-gradle build architecture. Android version should not be lower than 4.0.3 (API level 15), ideally should not be lower than 5.0(API level 21)  to access full functions of the product. The client device should be connected to internet to gain access to the backend server. Location service such as GPS is required for tracking services, geo-based recommendation service and navigation services. Google, Facebook or Twitter accounts access are required to enable sharing to these applications.

        On server side, the backend server is deployed upon BaaS platform on virtual private server (VPS). User data is stored in MySQL database. The capacity of database and the network throughput should be sufficient to transmit rapid small fragments of data efficiently; rates are based on the size of users.

Proformance

        The response time of server should not be higher than 500ms under a sufficient network accessibility, the average response time should not be higher than 300ms. There should not be high resource-consuming task on client side. However, Javascript execution and basic text and graphics rendering should be responsive on client side.

Security

        User data, if allowed, are transmitted using SSL/TLS encryption. User login information are encrypted using bcrypt. Itineraries and other related information will not be needing a strong security measure.If a itinerary is set to private, the user ID will be checked while accessing to these data.