1. Trang chủ
  2. » Luận Văn - Báo Cáo

Building an application for finding tourist attraction in vietnam based on mern stack

220 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building an application for finding tourist attraction in Vietnam based on MERN stack
Tác giả Nguyen Thi Minh Hoang, Le Thi Phuong Thao
Người hướng dẫn Ph.D Le Vinh Thinh
Trường học Ho Chi Minh City University of Technology and Education
Chuyên ngành Software Technology
Thể loại Graduation thesis
Năm xuất bản 2022
Thành phố Ho Chi Minh City
Định dạng
Số trang 220
Dung lượng 12,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. The urgency of the topic (29)
  • 2. Research object (29)
  • 3. Research scope (30)
  • 4. Expected results (30)
  • 5. Scientific and practical significance (30)
  • CHAPTER 1: THEORETICAL BASIS (32)
    • 1.1. MongoDB (32)
      • 1.1.1. Overview MongoDB (32)
      • 1.1.2. Some main features (32)
    • 1.2. ExpressJs (33)
    • 1.3. ReactJs (34)
      • 1.3.1. Overviews react (34)
      • 1.3.2. Advantages of React (34)
      • 1.3.3. The disadvantage of React (35)
    • 1.4. React Native (35)
      • 1.4.1. Overview React Native (35)
      • 1.4.2. Advantages (36)
      • 1.4.3. Disavantages (36)
    • 1.5. Redux toolkit (36)
      • 1.5.1. Overview redux (36)
      • 1.5.2. Concept of redux toolkit (37)
    • 1.6. Recombee (38)
  • CHAPTER 2: STATUS SURVEY AND DETERMINATION OF (40)
    • 2.1. Status survey (40)
      • 2.1.1. Overview (40)
      • 2.1.2. Travel apps available (41)
        • 2.1.2.1. Tripme (41)
        • 2.1.2.2. Tripadvisor (42)
        • 2.1.2.3. Airbnb App (43)
    • 2.2. Determination requirement (44)
      • 2.2.1. Functional requirements (44)
      • 2.2.2. Non-functional requirements (45)
        • 2.2.2.1 Performance requirements (45)
        • 2.2.2.2 Safety requirements (45)
        • 2.2.2.3 Security requirements (46)
        • 2.2.2.4 Interface requirements (46)
        • 2.2.2.5 Error handling (46)
    • 2.3. Requirements modeling (47)
      • 2.3.1. Functional Decomposition Diagram (47)
        • 2.3.1.1. User functional decomposition diagram (47)
        • 2.3.1.2. Administrator functional decomposition diagram (48)
      • 2.3.2. Usecase diagram (49)
        • 2.3.2.1. Systems usecase diagrams (49)
        • 2.3.2.2. Usecase specification (51)
  • CHAPTER 3: SOFTWARE DESIGNATION (98)
    • 3.1. Class Diagram (98)
    • 3.2. Sequence diagram (99)
      • 3.2.1. Sequence diagram in mobile application (99)
    • 1) Sign up (51)
    • 2) Sign in (100)
    • 3) View review (101)
    • 4) Search place (102)
    • 5) View places (103)
    • 6) Search place in map (104)
    • 7) Find the route (58)
    • 8) View detail information about place (106)
    • 9) View created plan (107)
    • 10) Log out (108)
    • 11) View detail plan (109)
    • 12) Edit plan (64)
    • 13) Delete plan (111)
    • 14) Create detail places for each day in plan (112)
    • 15) Delete detail place in each day of plan (113)
    • 16) Create place review (114)
    • 17) Create contribution for place (115)
    • 18) Report invalid report (116)
    • 19) Add favorite place (117)
    • 21) Create new plan (119)
    • 22) Change password (120)
    • 23) Forget password (121)
    • 24) Edit profile (122)
    • 25) Change language (78)
    • 26) Log in with Google (123)
    • 27) Add friend (124)
    • 28) View announcement (125)
      • 3.2.1. Sequence diagram of Web app (126)
    • 1) Manage places: Add new place (126)
    • 2) Manage places: Edit place (127)
    • 3) Manage tags, categories, provinces: Create new (128)
    • 4) Manage tags, categories, provinces: Edit (129)
    • 5) Manage explores: Create new (89)
    • 6) Manage explores: Edit (131)
    • 7) Manage users: Lock/unlock account (131)
    • 8) Manage contributes: Mask as read/Hide (132)
    • 9) Manage contributes: View related infomation (94)
    • 10) Manage reported review: Mask as read/hide (133)
    • 11) Manage Reported review: View related information (96)
      • 3.3. Design database (134)
      • 3.4. User interface design (144)
        • 3.4.1. Mobile application interface (144)
          • 3.4.1.1. Application start interface (144)
          • 3.4.1.2. Login screen interface (145)
          • 3.4.1.3. Registration screen interface (147)
          • 3.4.1.4. Forgot password screen interface (148)
          • 3.4.1.5. Navigation bar (150)
          • 3.4.1.6. Home page (151)
          • 3.4.1.7. Location details page (154)
          • 3.4.1.8. Location details screen ( tab views reviews) (157)
          • 3.4.1.9. Report creation screen (159)
          • 3.4.1.10. Review screen (160)
          • 3.4.1.11. User review creation screen (161)
          • 3.4.1.12. Location search screen (163)
          • 3.4.1.13. Plan view screen when not logged in (165)
          • 3.4.1.14. Plan view screen (167)
          • 3.4.1.15. Plan details screen (169)
          • 3.4.1.16. Plan creation screen (171)
          • 3.4.1.17. Day planner screen (172)
          • 3.4.1.18. User Collection Screen (174)
          • 3.4.1.18. Location search screen on map (175)
          • 3.4.1.19. User profile screen when not logged in (179)
          • 3.4.1.20. User profile screen (180)
          • 3.4.1.21. Language change screen (181)
          • 3.4.1.22. Favorite places screen (182)
          • 3.4.1.23. Password change screen (183)
          • 3.4.1.24. Notification screen (184)
          • 3.4.1.25. Friend search screen (185)
        • 3.4.2. Web application (186)
          • 3.4.2.1. Login page (186)
          • 3.4.2.2. Menu bar (187)
          • 3.4.2.3. Statistics (188)
          • 3.4.2.4. User management page (190)
          • 3.4.2.5. Settings management page (192)
          • 3.4.2.6. Tag management page (194)
          • 3.4.2.7. Category management page (195)
          • 3.4.2.9. Location management screen (199)
          • 3.4.2.10. Place creation screen (200)
          • 3.4.2.11. Location information editing page (0)
  • CHAPTER 4: INSTALL AND TEST (0)
    • 4.1. Install (0)
      • 4.1.1 Environment and Software used (0)
      • 4.1.2 Environment variables (0)
      • 4.1.3 Install app (0)
    • 4.2. Test (0)
      • 4.2.1. Test admin login function (0)
      • 4.2.2. Test admin’s new content creation features (0)
      • 4.2.3. Test the admin’s reporting and violation management functions. 183 4.2.4. Test the user’s location search feature (0)
      • 4.2.5. Test the user’s review creation feature (0)
      • 4.2.6. Test the user’s plan creation feature (0)
    • 1. Achievements (0)
    • 2. Advantages (0)
    • 3. Disavantages (0)
    • 4. Development (0)

Nội dung

The urgency of the topic

In the new normal, prioritizing the restoration and development of the smokeless industry is crucial Localities and tourist destinations must swiftly digitize their advertising campaigns to provide users with accurate and timely information The rise of various advertising formats, from TikTok short videos to social media shares, often misrepresents reality, impacting both tourist perceptions and genuine tourism advertisers Therefore, developing an application to present tourist attractions in Vietnam is essential for unifying information and ensuring high reliability.

Research object

There are two main target groups studied:

Users seeking information about popular tourist destinations can be divided into two groups The first group consists of individuals who have not yet found a suitable place and rely on an app to gather relevant information tailored to their needs For this group, developing an app with highly-rated, accurate content that integrates various usage requirements is crucial The second group includes travelers who have visited these destinations and are eager to share their experiences and feelings.

To engage users effectively, the application should implement features such as promotions, point accumulation, and friend connections, encouraging them to visit, revisit, and provide feedback.

To effectively promote an application for viewing geographic information, it is essential for the service organizer to prioritize objectivity, exceptional service, and a strong reputation These factors are crucial for managers when evaluating advertising and information campaigns.

Research scope

The study gets location information, mainly in Ho Chi Minh City and Ba Ria Vung Tau…

Expected results

Complete admin content creation site on mobile applications, complete the essential function of an application to introduce tourist information, implement and develop features for convenience and personalization.

Scientific and practical significance

The effective combination of virtual assistant capabilities, personalized recommendation systems, and a robust search API highlights the advancement of technology and the development of user-centric solutions.

The finalized application will enhance the digitalization of tourist information and services, allowing travel developers to effectively visualize their needs and desired features for deployment campaigns.

THEORETICAL BASIS

MongoDB

MongoDB is an open-source, document-oriented, non-relational database management system that enables users to store vast amounts of data Unlike traditional relational databases such as MySQL or SQL Server, which utilize tables for data storage, MongoDB organizes data in collections using BSON format This flexible structure allows collections to operate without a predefined schema or constraints, resulting in faster and simpler data retrieval.

MongoDB, developed and managed by MongoDB Inc., is a NoSQL database released under the Server Side Public License (SSPL) in February 2009 It offers extensive support libraries for various programming languages, including C, C++, C#, NET, Go, Java, Node.js, Perl, PHP, Python, Ruby, Scala, and Swift, enabling developers to create applications in their preferred language Today, numerous companies, such as Facebook, Nokia, eBay, Adobe, and Google, utilize MongoDB to efficiently store and manage large volumes of data.

The MongoDB environment offers a server capable of hosting multiple databases, each containing various collections Within these collections, records store key-value data fields that can utilize any BSON data type, including doubles and strings.

GRADUATION THESIS 5 boolean, etc The documents can have the same or different structure according to the user’s discretion

Figure 1 Organize storage in MongoDB

MongoDB stores data in the BSON document format, which is a binary representation of JSON documents This conversion from JSON to BSON allows the MongoDB server to store and query data more efficiently.

MongoDB documents enable the storage of nested data and the representation of complex relationships within a single document This approach simplifies data retrieval and storage, making it more efficient compared to relational database management systems (DBMSs), which often require complex joins to access data from multiple tables.

ExpressJs

Express is a completely free and open-source framework built on top of Nodejs, providing powerful features for building web or mobile applications Due to its

GRADUATION THESIS 6 relatively light weight, Expressjs helps organize web applications into a more organized MVC architecture

Express.js offers essential functionalities such as creating middleware to handle HTTP requests, defining routers for various HTTP actions (CRUD), and enabling the return of HTML pages through template engines like Jade and Pug.

ReactJs

React, developed by Facebook, is a powerful library for building user interfaces that enables the creation of reusable application components It efficiently compares the current render's values with those from the previous render, updating the DOM with minimal changes.

The Virtual DOM technology enhances application performance by ensuring that only the root node maintains state, leading to a complete restructuring only when necessary This approach minimizes the impact on processing speed, as real DOM manipulation is considerably slower than that of the Virtual DOM In a React application, when an object's state changes, the Virtual DOM is updated and compared to its previous state, allowing for selective updates to the real DOM This efficient method of updating only the changed objects significantly accelerates performance, especially when contrasted with other front-end technologies that require updates to all objects, even if only one has changed.

ReactJS utilizes a virtual DOM to enhance performance by comparing its previous state and selectively updating only the necessary objects in the real DOM, rather than refreshing all elements Additionally, React offers a variety of development tools that facilitate a more efficient development process.

GRADUATION THESIS 7 libraries to help developers reduce coding time High performance for applications with constantly changing data, easy maintenance and debugging

ReactJS is primarily a View library, focusing solely on the View layer rather than functioning as a full MVC framework like others Developed by Facebook, it specializes in rendering views but lacks built-in Model and Controller components Consequently, developers must integrate React with other libraries and technologies to create a comprehensive development toolkit.

React is quite heavy when compared to other frameworks

React is quite heavy compared to other frameworks React is similar in size to Angular (About 35kb compared to 39kb of Angular) Whereas Angular is a complete framework.

React Native

React Native, a framework created by Facebook, facilitates cross-platform mobile app development using JavaScript This allows developers to build applications that run seamlessly on both Android and iOS devices Notable apps like Instagram, Facebook, and Skype utilize React Native for their mobile solutions.

React Native operates by utilizing two threads: the Main Thread and the JS Thread The Main Thread is responsible for updating the user interface (UI) and managing user interactions, while the JS Thread executes and processes JavaScript code.

The Main Thread and JS Thread operate independently, interacting through a Bridge that facilitates data conversion between them.

React Native enables developers to efficiently reuse code for cross-platform applications, leading to significant time savings and reduced development costs This approach optimizes human resource utilization, minimizes code maintenance, and decreases the likelihood of bugs Additionally, both platforms offer similar features, including a robust user community, high stability, and effective optimization.

While React Native offers several benefits, it also has notable drawbacks It is not ideal for developing high-graphic games or applications with complex game mechanics, as its performance lags behind that of native apps due to its reliance on JavaScript Additionally, security concerns arise, and the customization options for certain modules are limited Consequently, React Native is not suitable for applications requiring significant computing power.

Redux toolkit

Single-page applications are increasingly popular, leading to more complex source code as they manage extensive shared state This complexity has given rise to state management solutions like Redux.

Redux is a tool for managing the state of javascript applications With Redux, the application state is stored in the store, and each component can access any state it

GRADUATION THESIS 9 needs from the store Make the application work consistently, run in different environments (client, server, and native) and easy to test

Redux consists of 3 basic components: action, reducer and store:

Actions are events or actions to send data from the app to the Redux store The data appears through user interactions or through the app, api calls,

Reducers are fundamental functions that take the current state of an application, execute an action, and return a new state These states are stored as objects, representing the application states that change in response to actions dispatched to the store.

Store is the type that saves application state and is unique in any Redux application Users can access saved, updated, or registered states and unregister listeners through helper methods

Redux is a widely used state management tool, yet it faces criticism for its complexity and the numerous steps required for implementation, which can deter programmers from adopting it To address these challenges, the Redux Toolkit was introduced, streamlining state management and providing a standardized approach.

Redux Toolkit, created by the Redux team, is an official toolkit designed to streamline common Redux tasks It offers various utility functions that simplify the setup of a store, the definition of reducers, and the implementation of immutable update logic, while also facilitating the creation of entire applications.

"slices" of state at the same time without handwriting any action generator or action

GRADUATION THESIS 10 type It also includes the most widely used redux libraries, like Redux Thunk for asynchronous logic and reselect for writing selector functions.

Recombee

A recommendation system is a key application of machine learning that focuses on predicting user interests in products It primarily involves two entities: users, who are the customers, and items, which represent the products The goal is to develop effective recommendation strategies tailored to individual preferences The two main approaches to constructing a recommendation system are collaborative filtering and content-based systems.

Content-based recommendation systems analyze the features and characteristics of the current item to evaluate its similarity with other items within the same system, ultimately providing tailored suggestions.

Collaborative filtering recommendation systems leverage the similarities between users and items to provide tailored suggestions By analyzing the behavior of users with comparable preferences, these systems recommend items that align with a specific user's interests.

Recombee is an AI-driven recommendation service that tailors product suggestions to individual customers by analyzing their behaviors and interactions By leveraging a blend of collaborative filtering and content-based algorithms, Recombee delivers highly relevant recommendations, even in cases where user-item interactions are minimal This personalized approach aims to optimize business performance and enhance customer satisfaction.

(cold start) In case of a sufficient number of interactions, collaborative filtering algorithms are preferred as they in most cases give the best results

STATUS SURVEY AND DETERMINATION OF

Status survey

Vietnam's tourism industry has experienced significant growth in recent years, with a steady increase in both domestic and international visitors This rising interest in tourist destinations has led to a surge in travel and information search applications.

Our team is excited to develop an application that showcases Vietnamese tourist destinations, allowing users to easily search for and access information about attractions they wish to visit Additionally, the app features a virtual voice assistant, enhancing user interaction through convenient voice commands.

Some outstanding features of the application:

● Provide information on more than 1 million hotels across the country

● Easily find places to eat, hotels, and homestays that suit the needs of users

● Discover the top tourist attractions; famous sightseeing should go

● The interface is simple, not attractive yet

● The search function is limited

Some outstanding features of the application:

● Support to search for hotel booking services, airline tickets, and restaurants in the country and abroad with many attractive incentives easily

● Many incentives, attractive discount vouchers

● Explore restaurants by type of food

● Easily compare hotel room rates, and airline tickets

● Users can rate the places they have visited

Airbnb is a convenient travel app that enables users to find excellent accommodations and unique experiences for their vacations It provides valuable information about tourist attractions, dining options, and facilitates easy interaction with fellow travelers who share similar interests.

Some outstanding features of the application:

● Easily find places to eat, hotels, and homestays that suit the needs of users

● Discover the top tourist attractions; famous sightseeing should go

● View and write personal comments about places you have gone.

Determination requirement

Register Do not have or have an account on the system

See all the locations displayed on the home page

Search places by name, by type, and by city

Search for a destination on the map, view location information and get directions

See reviews from other users in each location

See information about each location

User has registered an account

Log in The user must have an account on the system

Comments, reviews for places Users can report other users' reviews

Add, delete, edit, review trip plans

Add, delete, review favorite places

Edit personal information (name, picture, password)

Find friends; send, receive, accept friend requests

Receive notifications about friend requests, friend consents, invitations to join trips

Web app Admin Log in Admin has successfully logged in

View chart reports, most searched locations

Manage user reports and contributions

Information management of provinces (province)

Manage sets of featured destinations (explore)

Responses to viewing information will not take more than 5 seconds to appear on the screen.

2.2.2.2 Safety requirements The use of the system must not cause harm to the user.

The database must meet the security requirements.

The system will have many different types of users, and each user has access rights constraints.

The interface is attractive, user-friendly, and has transition effects between screens, manipulation

2.2.2.5 Error handling The application will handle expected and unexpected failures in a way that prevents information loss and long downtime

Requirements modeling

Figure 6 User functional decomposition diagram

Figure 7 Administrator functional decomposition diagram

2.3.2.1 Systems usecase diagrams 2.3.2.1.1 Usecase web module

2.3.2.2 Usecase specification 2.3.2.2.1 Usecase description for mobile application

1) Sign up for a regular account

Table 2 Normal account registration usecase

Name Register for a user account

Short description Users register an account on the application

1 User goes to account registration page

2 Enter information in the fields email, fullname, password and confirm password

2.1 When entering an invalid email, the system will display a red error below the email field, saying "Invalid email"

4 The system checks the input fields, then sends the account information to the server, the server will check the account and return a successful registration

GRADUATION THESIS 24 message The system will display the message “Successfully” to the user, then redirect to the homepage

Check Invalid Input Error messages are displayed below the field in error

The server responded that the login failed

The server responded that the login failed Show failed login message

2) Log in to your account

Name Log in to your account

Short description Users log into their accounts with email and password

Pre-conditions User has successfully registered for an account

1 User arrives at the login page

2 The user enters the email and password fields

3 Click the “Sign in” button”

4 The system checks the input fields, then sends the account information to the server, the server checks the account and returns a successful login message The system redirects to the home page

Invalid input check Error messages are displayed below the error field

Email or password is incorrect

Shows incorrect email or password error

The server responded that the login failed

Table 4 See user reviews usecase

Short description View user reviews of each location, users can favorite that review if successfully logged in

Pre-conditions User must successfully login if want to favorite review

1 User clicks on a place, that location details page appears

2 Users click on the “Review” tab, an overview of the number of review types and the most recent reviews appear

3 Click the “View more” button to see all the reviews of the place

4 The system redirects to the review page

5 User if logged in, can press favorite for each review or review report

5.1 Tap the icon like under the review, if successful, it will change to blue

5.2 Tap the icon on each review, then click “Report” to report it Information will be sent to the administrator for review

5.1 Failed favorite An error message appeared, favorite failed

5.2 Report failed An error message appears, the report fails

Short description Locations are displayed by category on the home page, and the same person can see specific locations for each item

1 The user enters the homepage or presses the “Home” icon

2 Locations are displayed by categories: popular places, voted places, suggested areas

3 To see more locations in each category, click “More” on each category 3.1 Enter the name of the place in the search box to check the place in the 3.2 Click on the location button to filter the locations of your desired genre

4 Tap the place category button to view places by category

5 Click on the location to see details (usecase “View location details)

6 Users after logging in will see their recently viewed locations

System error System error an error message appears

Table 6 Search for places usecase

Short description Users search for places by entering the name of the place they want to find

1 Click on the search box in the home page, the application goes to the search page

2 Enter the name of the place you want to search in the search box

3 The system uploads places with the same or similar name as the user entered

4 Users select the location to view detailed information about the location

6) Search the place on the map

Table 7 Search the place on the map usecase

Name Search for places on the map

Short description Users search for places on the map by entering the name of the place they want to find

1 Click the search icon on the bottom navbar, the application redirects to the search page

2 The map appears, the user clicks on the search box, a search page opens

3 Users enter keywords to search or select on the map when clicking "Choose in map"

3.1 Enter keywords in the search box:

3.1.1 Suggested locations are displayed, the user selects the place to find

3.1.2 The place name will appear in the search box, click “Find”

3.2.1 Move the map to place the location icon on the desired location

3.2.2 Press the “OK” button, the application will return to the search page Click “Find”

4 Return to the map screen, the point coordinates are displayed on the map

5 Click the location on the map, the menu appears Users select "Direct" for directions, select "More info" to view location information

6 Select the location classification, the points of the selected classification will appear on the map

5 The location has no detailed information in the system

Currently notification of location information is not available in the application

7) Find the route between two places

Table 8 Find the route between two places usecase

Name Find the route between two places

Short description User finds route between two places on map by entering place name

1 Click the search icon on the bottom navbar, the application redirects to the search page

2 The map appears, the user presses the button , the application redirects to the location input page

3 Users enter the search point keyword in the destination and starting point or select it on the map when clicking “Choose in map”

3.1 Enter keywords in the search box, the suggested locations are displayed, the user chooses the place to search

3.2 Search on the map, move the map so that the location icon is placed on the place you want to find, press “Ok” to return to the location input screen

5 The system will send point coordinates via google api to find the fastest route, the route will be displayed on the map

6 Tap the icon to see the distance and travel time

Error from google api route not found

Show message not found route

Table 9 View details of place usecase

Name View details of locations

Short description Click on any displayed place to see more information about that place

1 User selects a place, the application redirects to the detailed screen of that location information

2 Tab “Overview” default display, including location description, nearby locations, operating time, and price

3 Select the “Direction” tab to see the location of the place on the map and directions

4 Select the “Reviews” tab to see the user reviews of this place For more details see the usecase “View user reviews”

5 Users press the icon on the upper right corner to add the place to their favorites list if they have successfully logged in Notification of success if adding successful

6 An error occurred from the system

Table 10 View created trip planner

Name View created trip planner

Short description Click on the “Plan” tab to view the created trip plan

Pre-conditions User is logged in

1 Click tab “Plan” or “Kế hoạch” at the bottom nav

2 The list of created plans is displayed with items “Active”, “Upcoming”,

3 Click on the plan to see more details

Display “You have no plan here”

Table 11 Create a trip plan usecase

Short description In the “Plan” screen, press “Create Trip” to create a new trip plan

Pre-conditions User logged in

1 Select “Create Trip” to create a trip in the planner screen

2 The create trip screen appears

3 Tap “Choose background image” to choose an image in your phone

4 Enter the trip name, description and select the time to take place

5 Select status of that trip

6 Invite friend to trip by click “Invite friend”, to delete selected user, take a long press on that user’s avatar

7 Click the "Create New" button, the system saves the data on the server

8 The application notifies the successful creation, then navigates to the detailed planning screen for the newly created trip

9 If user invite any other user, a notification will be send to each user

Table 12.View plan details usecase

Short description Select a plan in the plan screen to view the plan details

Pre-conditions User logged in and created a plan

1 Select a plan in the plan list screen, the application redirects to the detail screen of that plan

2 The default tab is “Overview”, the application displays information about the plan: name, date, description, location schedule of each day

2.1 The user clicks on the place name, the application redirects to that location details

2.2 Click “Notes” to view notes

2.3 Click to see the marker of the place on the map

2.4 Click “Collection” to view saved locations

3 Click on the “Schedule” tab to see the travel route and location of all the places listed on the map on a day-to-day basis

3.1 Swipe left, to see the location for each day, the point coordinates will also be displayed on the map respectively

3.2 Click “See more” on the place to see information about the place

System error Display error message

Table 13 Edit plan information usecase

Short description In the plan details screen, select edit to go to the edit screen

1 At the detail plan screen , select Edit

2 The edit screen appears, the information of the current plan is displayed accordingly (same as the new creation screen)

3 Users change the information they want

4 Click “Save”, the system updates the plan information

5 5 After successful update, the application displays a message, then redirects back to the plan details screen

Table 14 Delete trip plan usecase

Short description In the plan details screen, select delete to delete the current plan

Pre-conditions Users who are logged in and have already created a plan

1 At the detail plan screen, click , select Delete

2 The application displays the confirmation message form

3 Select “Delete” to delete plan

4 The system deletes the plan in the storage, the application notices the successful deletion Then navigate to the screen showing the plans

3 Click “Cancel” The confirmation message closes, no other changes

4 Deletion failed Error messages delete failed

14) Create a plan for each day

Table 15 Create a plan for each day usecase

Name Create a plan for each day

Short description In the plan details screen, tap “Plan” to create a schedule for each day

Pre-conditions User logged in and created a plan

1 Click on the date you want to create

2 Click the “Add destination” button, the app goes to the gallery screen

4 The application returns to the old screen, adds the selected location to the existing list, with the default time and cost of 0

5 Select to change the time, change the estimated cost for the destination

7 The locations of the day are saved in the system After successful saving, the screen shows a success message

7 Save failed Save failed message

15) Clear plans for each day

Table 16 Clear plans for each day usecase

Name Clear plans for each day

Short description In the day-by-day schedule screen, the user can choose to delete a location planning all the locations of that day

Pre-conditions User logged in and created a plan

1 Click on the date you want to delete

2 To delete an already scheduled place, tap the trash can icon on the right corner of each location:

3 The application displays a deletion confirmation message

4 The user selects "Delete" the system will delete that place in the interface but not in the database yet

5 After editing is done, the user selects "Save All", the system sends the edited plan to the server and saves it

6 The system notifies the successful save

6 Save failed Save failed message

Table 17 Create a place review usecase

Short description Users type the places they have experienced

Pre-conditions User is logged in

1 Click “Create Review” in the place details page, “Reviews” tab, the application will switch to the review creation page

2 Select rating, time visited, title, detailed review

3 Select images in the device, the selected images are displayed under

4 Click "Save", the application checks the input validity and sends the data to the server, the server saves to the database, returns success

Show error below each error field

5 Save failed Show failed save message

17) Make suggestions for the place

Table 18 Make suggestions for the place usecase

Name Make suggestions for the place

Short description Users contribute opinions about information, images, displayed on the application

Pre-conditions User is logged in

1 User enters the location details page, tab “Overview”

2 Enter your comments in the comments field and click “Submit”

3 The system saves data, displays a successful message when sending is completed

3 Send failed The application shows a failed save message

Table 19 Report rating inappropriate usecase

Short description Users report reviews that use inappropriate words or false images

Pre-conditions The user is logged in and has a review created

1 In the place details screen or review view page, click per review

2 Click “Báo cáo” or “Report”, a dialog box containing the reason for the reported review is displayed

3 User enters reason, then press send

4 The data is sent to the server and saved, after successful saving, the success message is displayed

4 Send failed Application notifying save failed

Table 20 Add places to favorites usecase

Name Add places to favorites

Short description Add any place on the application to the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and saves the user's favorite list

3 Successful save message, icon turns red

3 Save failed Application notifying save failed

Table 21 Remove places from favorites usecase

Name Remove places from favorites

Short description Remove a place from the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and removes the place from the user's favorite list

3 Notification of successful shuffling, icon turns white

3 Deletion failed Application notifying delete failed

Table 22 Sign out the app usecase

Name Sign out of the app

Short description User logs out of the app

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click “Sign Out”, display a confirmation message to log out

3 Click 'OK', the system deletes user data and logs out of the app and gives a success message

4 Profile page no longer displays information

3 Sign out failed Logout failed message

Short description The user wants to create a new password

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click "Change password", display the waiting page (loading page)

3 Go to the Create new password page

4 User enters old password, new password, reconfirms new password

6 The system displays a successful password change message

3 Display the message that the account is not using a password to log in

User selects "Close" to close the notification, continue using the application

6 Invalid input Display the message “Confirmation password does not match” in the box to re-enter new password

6 The old password is incorrect

Display the message "Invalid password" in the old password input box

Short description The user forgot his password and wants to create a new password

Pre-conditions User is not logged in

1 At the Login screen, the user selects “Forgot Password”, the system will go to the Forgot Password page

2 At step 1 in the page, the user enters the email related to the account, clicks

4 At step 2 in the page, the user enters the confirmation code sent to the corresponding email, clicks "Confirm"

6 At step 3 in the page, the user enters a new password, confirms the new password, clicks "Confirm"

7 The system displays a successful new password creation message

3 Email is not in the systems; email does not use password to login

Displays a message that the email does not exist, or the email does not use the password to log in

Shows invalid authentication code message

Table 25 Edit personal information usecase

Short description In the Personal Information Management screen (profile) select Edit information

Pre-conditions The user has logged into the system

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Edit”

2 System navigates to Edit profile screen

3 Users edit information (change name, select image)

4 User clicks “Save”, the button displays the loading icon (spinner )

5 The loading icon is hidden, complete the information update

The loading icon is hidden, showing an error message

Short description In the Personal Information Management screen (profile) select change language

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Change language”

2 System navigates to Change language screen; list languages were showed

3 User selects the language he wants

4 The system changes the current language accordingly

Table 27 Sign in with Google usecase

Name Sign in with google

Short description At the login screen, the user selects “Sign in with Google”

1 In the login screen, the user selects “Sign in with Google”

2 Display dialog select google account

3 Users click on the account they want to log in to

4 Go to the page where the account is being verified

5 Go to the home page of the app

1 Sync with google account error occurred

Close the dialog, return to the Login screen

27) Create a plan with a voice assistant

Table 28 Create a plan with a voice assistant usecase

Name Create a plan with a voice assistant (Alan)

Short description Users use voice to create trip plans

Pre-conditions Signed in successfully

1 User activates Alan by saying “Hey Alan” or clicking on the Alan icon

2 User uses voice to answer Alan's requests, the user's reply to data will be saved on Alan studio

3 After having enough data, Alan sends the data to the application, and the application sends the information to the server to save

4 The system displays a message after successful creation

5 Creation failed The system displays the error message creating the plan

Short description User can view announcements related to them

Pre-conditions Signed in successfully

1 User click icon announcement in bottom tab to view his announcement

2 System shows all announcement by default

3 User can click on an announcement to mark as read

4 User can click on filter “All”, “Read” or “Unread” to filter his announcements

4.1 When user click on “All”, all announcements will be loaded

4.2 When user click on “Read”, all read announcements will be loaded 4.3 When user click on “Unread”, all unread announcements will be loaded

5 There are two types of announcements: added to plan and new request make friend

5.1 Added to plan: when logged user was added to another user’s plan, system will send notification to added account

5.2 New make friend request: if another user want to make friend with you, you will receive a notification, with 2 choices: agree or reject

5.3 Click “Agree”: system will create connect friend Click reject, this request will be canceled

The system displays the error message agree make friend request fail

Short description User can search and add new friend

Pre-conditions Signed in successfully

1 Click icon profile in bottom tab, system navigates to Profile screen

2 User can view his list friend, click “More” to search, and view more friend

3 User can click button “Add” in each friend he wants to make connect

4 User can click on that friend to view him/her profile

5 User can search by input email, system will load all user that has corresponding email

6 When user click “Add” with another user, he/she will receive an announcement to accept or reject the request When adding successfully, system will show an message “Send friend request successfully”

The system displays the error message make friend request fail

2.3.2.2.2 Usecase description for web application

Short description Admin added new location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the + button "add location" in the upper right corner, the form to enter new location information will appear

3 Fill in the information about the new location you want to create

5 The system displays a message that successfully added a new location

6 Go to the edit detail page of the newly added location

Input form will be closed

Error messages are displayed below the error field Admin continues to add locations

5 The server responded that adding a new location failed

- Admin selects Summit button to continue other operations

- Admin selects the Cannel button; the input form is closed

Name Location management: Edit information

Short description Admin changes the information of a location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the edit button (pen-shaped icon) in the middle of the location display frame, the system will go to the edit detail page of the selected location

4 Click the save button to save the changes

5 Display the message of successful data update

Return to previous location view page

Error messages are displayed below the error field Admin continues to update the location

5 The server responded that adding a new location failed

- Admin selects the Save button to continue the operation

- Admin selects the back button (arrow), returns to the previous page

3) Manage cards; types; districts: Create

Table 33 Manage cards; types; districts: Create usecase

Name Manage cards; types; districts: Create

Short description Admin creates new (tag | category | district)

Pre-conditions Admin has logged into the system

2 Select the respective tabs (tag | category | district)

3 Select the button create tag | category | province Display the new form to fill in the information

4 Fill in the information about the new type you want to create

6 The input form is closed

7 Show new successful message, object's list is reloaded

The form to fill in the information is closed End usecase

5 Server responds adding new object failed

- Admin selects the Save button to continue the operation

- Admin selects the Cancel button, and the form fills in information closes End usecase

4) Manage cards; types; districts: Update

Table 34 Manage cards; types; districts: Update

Name Manage cards; type; districts: Update

Short description Admin edit and update information (card | type | district)

Pre-condition Admin has logged into the system

2 Select the corresponding tab (tag | category | district)

3 At the object you want to change, click the edit button (the pen shape) in the Action column The form to edit the information of the object is displayed

5 The form closes, showing a successful update message The list in the table is updated according to the newly edited data

The form is closed End usecase

5 The server responded that the object editing is not successful

- Admin selects Save button and continues other activities

- Admin selects Cancel button, the form fills in information closes End usecase

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase.

SOFTWARE DESIGNATION

Class Diagram

Sign up

Table 2 Normal account registration usecase

Name Register for a user account

Short description Users register an account on the application

1 User goes to account registration page

2 Enter information in the fields email, fullname, password and confirm password

2.1 When entering an invalid email, the system will display a red error below the email field, saying "Invalid email"

4 The system checks the input fields, then sends the account information to the server, the server will check the account and return a successful registration

GRADUATION THESIS 24 message The system will display the message “Successfully” to the user, then redirect to the homepage

Check Invalid Input Error messages are displayed below the field in error

The server responded that the login failed

The server responded that the login failed Show failed login message

2) Log in to your account

Name Log in to your account

Short description Users log into their accounts with email and password

Pre-conditions User has successfully registered for an account

1 User arrives at the login page

2 The user enters the email and password fields

3 Click the “Sign in” button”

4 The system checks the input fields, then sends the account information to the server, the server checks the account and returns a successful login message The system redirects to the home page

Invalid input check Error messages are displayed below the error field

Email or password is incorrect

Shows incorrect email or password error

The server responded that the login failed

Table 4 See user reviews usecase

Short description View user reviews of each location, users can favorite that review if successfully logged in

Pre-conditions User must successfully login if want to favorite review

1 User clicks on a place, that location details page appears

2 Users click on the “Review” tab, an overview of the number of review types and the most recent reviews appear

3 Click the “View more” button to see all the reviews of the place

4 The system redirects to the review page

5 User if logged in, can press favorite for each review or review report

5.1 Tap the icon like under the review, if successful, it will change to blue

5.2 Tap the icon on each review, then click “Report” to report it Information will be sent to the administrator for review

5.1 Failed favorite An error message appeared, favorite failed

5.2 Report failed An error message appears, the report fails

Short description Locations are displayed by category on the home page, and the same person can see specific locations for each item

1 The user enters the homepage or presses the “Home” icon

2 Locations are displayed by categories: popular places, voted places, suggested areas

3 To see more locations in each category, click “More” on each category 3.1 Enter the name of the place in the search box to check the place in the 3.2 Click on the location button to filter the locations of your desired genre

4 Tap the place category button to view places by category

5 Click on the location to see details (usecase “View location details)

6 Users after logging in will see their recently viewed locations

System error System error an error message appears

Table 6 Search for places usecase

Short description Users search for places by entering the name of the place they want to find

1 Click on the search box in the home page, the application goes to the search page

2 Enter the name of the place you want to search in the search box

3 The system uploads places with the same or similar name as the user entered

4 Users select the location to view detailed information about the location

6) Search the place on the map

Table 7 Search the place on the map usecase

Name Search for places on the map

Short description Users search for places on the map by entering the name of the place they want to find

1 Click the search icon on the bottom navbar, the application redirects to the search page

2 The map appears, the user clicks on the search box, a search page opens

3 Users enter keywords to search or select on the map when clicking "Choose in map"

3.1 Enter keywords in the search box:

3.1.1 Suggested locations are displayed, the user selects the place to find

3.1.2 The place name will appear in the search box, click “Find”

3.2.1 Move the map to place the location icon on the desired location

3.2.2 Press the “OK” button, the application will return to the search page Click “Find”

4 Return to the map screen, the point coordinates are displayed on the map

5 Click the location on the map, the menu appears Users select "Direct" for directions, select "More info" to view location information

6 Select the location classification, the points of the selected classification will appear on the map

5 The location has no detailed information in the system

Currently notification of location information is not available in the application

7) Find the route between two places

Table 8 Find the route between two places usecase

Name Find the route between two places

Short description User finds route between two places on map by entering place name

1 Click the search icon on the bottom navbar, the application redirects to the search page

2 The map appears, the user presses the button , the application redirects to the location input page

3 Users enter the search point keyword in the destination and starting point or select it on the map when clicking “Choose in map”

3.1 Enter keywords in the search box, the suggested locations are displayed, the user chooses the place to search

3.2 Search on the map, move the map so that the location icon is placed on the place you want to find, press “Ok” to return to the location input screen

5 The system will send point coordinates via google api to find the fastest route, the route will be displayed on the map

6 Tap the icon to see the distance and travel time

Error from google api route not found

Show message not found route

Table 9 View details of place usecase

Name View details of locations

Short description Click on any displayed place to see more information about that place

1 User selects a place, the application redirects to the detailed screen of that location information

2 Tab “Overview” default display, including location description, nearby locations, operating time, and price

3 Select the “Direction” tab to see the location of the place on the map and directions

4 Select the “Reviews” tab to see the user reviews of this place For more details see the usecase “View user reviews”

5 Users press the icon on the upper right corner to add the place to their favorites list if they have successfully logged in Notification of success if adding successful

6 An error occurred from the system

Table 10 View created trip planner

Name View created trip planner

Short description Click on the “Plan” tab to view the created trip plan

Pre-conditions User is logged in

1 Click tab “Plan” or “Kế hoạch” at the bottom nav

2 The list of created plans is displayed with items “Active”, “Upcoming”,

3 Click on the plan to see more details

Display “You have no plan here”

Table 11 Create a trip plan usecase

Short description In the “Plan” screen, press “Create Trip” to create a new trip plan

Pre-conditions User logged in

1 Select “Create Trip” to create a trip in the planner screen

2 The create trip screen appears

3 Tap “Choose background image” to choose an image in your phone

4 Enter the trip name, description and select the time to take place

5 Select status of that trip

6 Invite friend to trip by click “Invite friend”, to delete selected user, take a long press on that user’s avatar

7 Click the "Create New" button, the system saves the data on the server

8 The application notifies the successful creation, then navigates to the detailed planning screen for the newly created trip

9 If user invite any other user, a notification will be send to each user

Table 12.View plan details usecase

Short description Select a plan in the plan screen to view the plan details

Pre-conditions User logged in and created a plan

1 Select a plan in the plan list screen, the application redirects to the detail screen of that plan

2 The default tab is “Overview”, the application displays information about the plan: name, date, description, location schedule of each day

2.1 The user clicks on the place name, the application redirects to that location details

2.2 Click “Notes” to view notes

2.3 Click to see the marker of the place on the map

2.4 Click “Collection” to view saved locations

3 Click on the “Schedule” tab to see the travel route and location of all the places listed on the map on a day-to-day basis

3.1 Swipe left, to see the location for each day, the point coordinates will also be displayed on the map respectively

3.2 Click “See more” on the place to see information about the place

System error Display error message

Table 13 Edit plan information usecase

Short description In the plan details screen, select edit to go to the edit screen

1 At the detail plan screen , select Edit

2 The edit screen appears, the information of the current plan is displayed accordingly (same as the new creation screen)

3 Users change the information they want

4 Click “Save”, the system updates the plan information

5 5 After successful update, the application displays a message, then redirects back to the plan details screen

Table 14 Delete trip plan usecase

Short description In the plan details screen, select delete to delete the current plan

Pre-conditions Users who are logged in and have already created a plan

1 At the detail plan screen, click , select Delete

2 The application displays the confirmation message form

3 Select “Delete” to delete plan

4 The system deletes the plan in the storage, the application notices the successful deletion Then navigate to the screen showing the plans

3 Click “Cancel” The confirmation message closes, no other changes

4 Deletion failed Error messages delete failed

14) Create a plan for each day

Table 15 Create a plan for each day usecase

Name Create a plan for each day

Short description In the plan details screen, tap “Plan” to create a schedule for each day

Pre-conditions User logged in and created a plan

1 Click on the date you want to create

2 Click the “Add destination” button, the app goes to the gallery screen

4 The application returns to the old screen, adds the selected location to the existing list, with the default time and cost of 0

5 Select to change the time, change the estimated cost for the destination

7 The locations of the day are saved in the system After successful saving, the screen shows a success message

7 Save failed Save failed message

15) Clear plans for each day

Table 16 Clear plans for each day usecase

Name Clear plans for each day

Short description In the day-by-day schedule screen, the user can choose to delete a location planning all the locations of that day

Pre-conditions User logged in and created a plan

1 Click on the date you want to delete

2 To delete an already scheduled place, tap the trash can icon on the right corner of each location:

3 The application displays a deletion confirmation message

4 The user selects "Delete" the system will delete that place in the interface but not in the database yet

5 After editing is done, the user selects "Save All", the system sends the edited plan to the server and saves it

6 The system notifies the successful save

6 Save failed Save failed message

Table 17 Create a place review usecase

Short description Users type the places they have experienced

Pre-conditions User is logged in

1 Click “Create Review” in the place details page, “Reviews” tab, the application will switch to the review creation page

2 Select rating, time visited, title, detailed review

3 Select images in the device, the selected images are displayed under

4 Click "Save", the application checks the input validity and sends the data to the server, the server saves to the database, returns success

Show error below each error field

5 Save failed Show failed save message

17) Make suggestions for the place

Table 18 Make suggestions for the place usecase

Name Make suggestions for the place

Short description Users contribute opinions about information, images, displayed on the application

Pre-conditions User is logged in

1 User enters the location details page, tab “Overview”

2 Enter your comments in the comments field and click “Submit”

3 The system saves data, displays a successful message when sending is completed

3 Send failed The application shows a failed save message

Table 19 Report rating inappropriate usecase

Short description Users report reviews that use inappropriate words or false images

Pre-conditions The user is logged in and has a review created

1 In the place details screen or review view page, click per review

2 Click “Báo cáo” or “Report”, a dialog box containing the reason for the reported review is displayed

3 User enters reason, then press send

4 The data is sent to the server and saved, after successful saving, the success message is displayed

4 Send failed Application notifying save failed

Table 20 Add places to favorites usecase

Name Add places to favorites

Short description Add any place on the application to the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and saves the user's favorite list

3 Successful save message, icon turns red

3 Save failed Application notifying save failed

Table 21 Remove places from favorites usecase

Name Remove places from favorites

Short description Remove a place from the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and removes the place from the user's favorite list

3 Notification of successful shuffling, icon turns white

3 Deletion failed Application notifying delete failed

Table 22 Sign out the app usecase

Name Sign out of the app

Short description User logs out of the app

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click “Sign Out”, display a confirmation message to log out

3 Click 'OK', the system deletes user data and logs out of the app and gives a success message

4 Profile page no longer displays information

3 Sign out failed Logout failed message

Short description The user wants to create a new password

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click "Change password", display the waiting page (loading page)

3 Go to the Create new password page

4 User enters old password, new password, reconfirms new password

6 The system displays a successful password change message

3 Display the message that the account is not using a password to log in

User selects "Close" to close the notification, continue using the application

6 Invalid input Display the message “Confirmation password does not match” in the box to re-enter new password

6 The old password is incorrect

Display the message "Invalid password" in the old password input box

Short description The user forgot his password and wants to create a new password

Pre-conditions User is not logged in

1 At the Login screen, the user selects “Forgot Password”, the system will go to the Forgot Password page

2 At step 1 in the page, the user enters the email related to the account, clicks

4 At step 2 in the page, the user enters the confirmation code sent to the corresponding email, clicks "Confirm"

6 At step 3 in the page, the user enters a new password, confirms the new password, clicks "Confirm"

7 The system displays a successful new password creation message

3 Email is not in the systems; email does not use password to login

Displays a message that the email does not exist, or the email does not use the password to log in

Shows invalid authentication code message

Table 25 Edit personal information usecase

Short description In the Personal Information Management screen (profile) select Edit information

Pre-conditions The user has logged into the system

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Edit”

2 System navigates to Edit profile screen

3 Users edit information (change name, select image)

4 User clicks “Save”, the button displays the loading icon (spinner )

5 The loading icon is hidden, complete the information update

The loading icon is hidden, showing an error message

Short description In the Personal Information Management screen (profile) select change language

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Change language”

2 System navigates to Change language screen; list languages were showed

3 User selects the language he wants

4 The system changes the current language accordingly

Table 27 Sign in with Google usecase

Name Sign in with google

Short description At the login screen, the user selects “Sign in with Google”

1 In the login screen, the user selects “Sign in with Google”

2 Display dialog select google account

3 Users click on the account they want to log in to

4 Go to the page where the account is being verified

5 Go to the home page of the app

1 Sync with google account error occurred

Close the dialog, return to the Login screen

27) Create a plan with a voice assistant

Table 28 Create a plan with a voice assistant usecase

Name Create a plan with a voice assistant (Alan)

Short description Users use voice to create trip plans

Pre-conditions Signed in successfully

1 User activates Alan by saying “Hey Alan” or clicking on the Alan icon

2 User uses voice to answer Alan's requests, the user's reply to data will be saved on Alan studio

3 After having enough data, Alan sends the data to the application, and the application sends the information to the server to save

4 The system displays a message after successful creation

5 Creation failed The system displays the error message creating the plan

Short description User can view announcements related to them

Pre-conditions Signed in successfully

1 User click icon announcement in bottom tab to view his announcement

2 System shows all announcement by default

3 User can click on an announcement to mark as read

4 User can click on filter “All”, “Read” or “Unread” to filter his announcements

4.1 When user click on “All”, all announcements will be loaded

4.2 When user click on “Read”, all read announcements will be loaded 4.3 When user click on “Unread”, all unread announcements will be loaded

5 There are two types of announcements: added to plan and new request make friend

5.1 Added to plan: when logged user was added to another user’s plan, system will send notification to added account

5.2 New make friend request: if another user want to make friend with you, you will receive a notification, with 2 choices: agree or reject

5.3 Click “Agree”: system will create connect friend Click reject, this request will be canceled

The system displays the error message agree make friend request fail

Short description User can search and add new friend

Pre-conditions Signed in successfully

1 Click icon profile in bottom tab, system navigates to Profile screen

2 User can view his list friend, click “More” to search, and view more friend

3 User can click button “Add” in each friend he wants to make connect

4 User can click on that friend to view him/her profile

5 User can search by input email, system will load all user that has corresponding email

6 When user click “Add” with another user, he/she will receive an announcement to accept or reject the request When adding successfully, system will show an message “Send friend request successfully”

The system displays the error message make friend request fail

2.3.2.2.2 Usecase description for web application

Short description Admin added new location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the + button "add location" in the upper right corner, the form to enter new location information will appear

3 Fill in the information about the new location you want to create

5 The system displays a message that successfully added a new location

6 Go to the edit detail page of the newly added location

Input form will be closed

Error messages are displayed below the error field Admin continues to add locations

5 The server responded that adding a new location failed

- Admin selects Summit button to continue other operations

- Admin selects the Cannel button; the input form is closed

Name Location management: Edit information

Short description Admin changes the information of a location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the edit button (pen-shaped icon) in the middle of the location display frame, the system will go to the edit detail page of the selected location

4 Click the save button to save the changes

5 Display the message of successful data update

Return to previous location view page

Error messages are displayed below the error field Admin continues to update the location

5 The server responded that adding a new location failed

- Admin selects the Save button to continue the operation

- Admin selects the back button (arrow), returns to the previous page

3) Manage cards; types; districts: Create

Table 33 Manage cards; types; districts: Create usecase

Name Manage cards; types; districts: Create

Short description Admin creates new (tag | category | district)

Pre-conditions Admin has logged into the system

2 Select the respective tabs (tag | category | district)

3 Select the button create tag | category | province Display the new form to fill in the information

4 Fill in the information about the new type you want to create

6 The input form is closed

7 Show new successful message, object's list is reloaded

The form to fill in the information is closed End usecase

5 Server responds adding new object failed

- Admin selects the Save button to continue the operation

- Admin selects the Cancel button, and the form fills in information closes End usecase

4) Manage cards; types; districts: Update

Table 34 Manage cards; types; districts: Update

Name Manage cards; type; districts: Update

Short description Admin edit and update information (card | type | district)

Pre-condition Admin has logged into the system

2 Select the corresponding tab (tag | category | district)

3 At the object you want to change, click the edit button (the pen shape) in the Action column The form to edit the information of the object is displayed

5 The form closes, showing a successful update message The list in the table is updated according to the newly edited data

The form is closed End usecase

5 The server responded that the object editing is not successful

- Admin selects Save button and continues other activities

- Admin selects Cancel button, the form fills in information closes End usecase

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Sign in

Figure 12 Sequence diagram of feature Login

View review

Figure 13 Sequence diagram of feature View review

Search place

Figure 14 Sequence diagram of feature Search places

View places

Figure 15 Sequence diagram of feature View places

Find the route

Table 8 Find the route between two places usecase

Name Find the route between two places

Short description User finds route between two places on map by entering place name

1 Click the search icon on the bottom navbar, the application redirects to the search page

2 The map appears, the user presses the button , the application redirects to the location input page

3 Users enter the search point keyword in the destination and starting point or select it on the map when clicking “Choose in map”

3.1 Enter keywords in the search box, the suggested locations are displayed, the user chooses the place to search

3.2 Search on the map, move the map so that the location icon is placed on the place you want to find, press “Ok” to return to the location input screen

5 The system will send point coordinates via google api to find the fastest route, the route will be displayed on the map

6 Tap the icon to see the distance and travel time

Error from google api route not found

Show message not found route

Table 9 View details of place usecase

Name View details of locations

Short description Click on any displayed place to see more information about that place

1 User selects a place, the application redirects to the detailed screen of that location information

2 Tab “Overview” default display, including location description, nearby locations, operating time, and price

3 Select the “Direction” tab to see the location of the place on the map and directions

4 Select the “Reviews” tab to see the user reviews of this place For more details see the usecase “View user reviews”

5 Users press the icon on the upper right corner to add the place to their favorites list if they have successfully logged in Notification of success if adding successful

6 An error occurred from the system

Table 10 View created trip planner

Name View created trip planner

Short description Click on the “Plan” tab to view the created trip plan

Pre-conditions User is logged in

1 Click tab “Plan” or “Kế hoạch” at the bottom nav

2 The list of created plans is displayed with items “Active”, “Upcoming”,

3 Click on the plan to see more details

Display “You have no plan here”

Table 11 Create a trip plan usecase

Short description In the “Plan” screen, press “Create Trip” to create a new trip plan

Pre-conditions User logged in

1 Select “Create Trip” to create a trip in the planner screen

2 The create trip screen appears

3 Tap “Choose background image” to choose an image in your phone

4 Enter the trip name, description and select the time to take place

5 Select status of that trip

6 Invite friend to trip by click “Invite friend”, to delete selected user, take a long press on that user’s avatar

7 Click the "Create New" button, the system saves the data on the server

8 The application notifies the successful creation, then navigates to the detailed planning screen for the newly created trip

9 If user invite any other user, a notification will be send to each user

Table 12.View plan details usecase

Short description Select a plan in the plan screen to view the plan details

Pre-conditions User logged in and created a plan

1 Select a plan in the plan list screen, the application redirects to the detail screen of that plan

2 The default tab is “Overview”, the application displays information about the plan: name, date, description, location schedule of each day

2.1 The user clicks on the place name, the application redirects to that location details

2.2 Click “Notes” to view notes

2.3 Click to see the marker of the place on the map

2.4 Click “Collection” to view saved locations

3 Click on the “Schedule” tab to see the travel route and location of all the places listed on the map on a day-to-day basis

3.1 Swipe left, to see the location for each day, the point coordinates will also be displayed on the map respectively

3.2 Click “See more” on the place to see information about the place

System error Display error message

Table 13 Edit plan information usecase

Short description In the plan details screen, select edit to go to the edit screen

1 At the detail plan screen , select Edit

2 The edit screen appears, the information of the current plan is displayed accordingly (same as the new creation screen)

3 Users change the information they want

4 Click “Save”, the system updates the plan information

5 5 After successful update, the application displays a message, then redirects back to the plan details screen

Table 14 Delete trip plan usecase

Short description In the plan details screen, select delete to delete the current plan

Pre-conditions Users who are logged in and have already created a plan

1 At the detail plan screen, click , select Delete

2 The application displays the confirmation message form

3 Select “Delete” to delete plan

4 The system deletes the plan in the storage, the application notices the successful deletion Then navigate to the screen showing the plans

3 Click “Cancel” The confirmation message closes, no other changes

4 Deletion failed Error messages delete failed

14) Create a plan for each day

Table 15 Create a plan for each day usecase

Name Create a plan for each day

Short description In the plan details screen, tap “Plan” to create a schedule for each day

Pre-conditions User logged in and created a plan

1 Click on the date you want to create

2 Click the “Add destination” button, the app goes to the gallery screen

4 The application returns to the old screen, adds the selected location to the existing list, with the default time and cost of 0

5 Select to change the time, change the estimated cost for the destination

7 The locations of the day are saved in the system After successful saving, the screen shows a success message

7 Save failed Save failed message

15) Clear plans for each day

Table 16 Clear plans for each day usecase

Name Clear plans for each day

Short description In the day-by-day schedule screen, the user can choose to delete a location planning all the locations of that day

Pre-conditions User logged in and created a plan

1 Click on the date you want to delete

2 To delete an already scheduled place, tap the trash can icon on the right corner of each location:

3 The application displays a deletion confirmation message

4 The user selects "Delete" the system will delete that place in the interface but not in the database yet

5 After editing is done, the user selects "Save All", the system sends the edited plan to the server and saves it

6 The system notifies the successful save

6 Save failed Save failed message

Table 17 Create a place review usecase

Short description Users type the places they have experienced

Pre-conditions User is logged in

1 Click “Create Review” in the place details page, “Reviews” tab, the application will switch to the review creation page

2 Select rating, time visited, title, detailed review

3 Select images in the device, the selected images are displayed under

4 Click "Save", the application checks the input validity and sends the data to the server, the server saves to the database, returns success

Show error below each error field

5 Save failed Show failed save message

17) Make suggestions for the place

Table 18 Make suggestions for the place usecase

Name Make suggestions for the place

Short description Users contribute opinions about information, images, displayed on the application

Pre-conditions User is logged in

1 User enters the location details page, tab “Overview”

2 Enter your comments in the comments field and click “Submit”

3 The system saves data, displays a successful message when sending is completed

3 Send failed The application shows a failed save message

Table 19 Report rating inappropriate usecase

Short description Users report reviews that use inappropriate words or false images

Pre-conditions The user is logged in and has a review created

1 In the place details screen or review view page, click per review

2 Click “Báo cáo” or “Report”, a dialog box containing the reason for the reported review is displayed

3 User enters reason, then press send

4 The data is sent to the server and saved, after successful saving, the success message is displayed

4 Send failed Application notifying save failed

Table 20 Add places to favorites usecase

Name Add places to favorites

Short description Add any place on the application to the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and saves the user's favorite list

3 Successful save message, icon turns red

3 Save failed Application notifying save failed

Table 21 Remove places from favorites usecase

Name Remove places from favorites

Short description Remove a place from the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and removes the place from the user's favorite list

3 Notification of successful shuffling, icon turns white

3 Deletion failed Application notifying delete failed

Table 22 Sign out the app usecase

Name Sign out of the app

Short description User logs out of the app

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click “Sign Out”, display a confirmation message to log out

3 Click 'OK', the system deletes user data and logs out of the app and gives a success message

4 Profile page no longer displays information

3 Sign out failed Logout failed message

Short description The user wants to create a new password

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click "Change password", display the waiting page (loading page)

3 Go to the Create new password page

4 User enters old password, new password, reconfirms new password

6 The system displays a successful password change message

3 Display the message that the account is not using a password to log in

User selects "Close" to close the notification, continue using the application

6 Invalid input Display the message “Confirmation password does not match” in the box to re-enter new password

6 The old password is incorrect

Display the message "Invalid password" in the old password input box

Short description The user forgot his password and wants to create a new password

Pre-conditions User is not logged in

1 At the Login screen, the user selects “Forgot Password”, the system will go to the Forgot Password page

2 At step 1 in the page, the user enters the email related to the account, clicks

4 At step 2 in the page, the user enters the confirmation code sent to the corresponding email, clicks "Confirm"

6 At step 3 in the page, the user enters a new password, confirms the new password, clicks "Confirm"

7 The system displays a successful new password creation message

3 Email is not in the systems; email does not use password to login

Displays a message that the email does not exist, or the email does not use the password to log in

Shows invalid authentication code message

Table 25 Edit personal information usecase

Short description In the Personal Information Management screen (profile) select Edit information

Pre-conditions The user has logged into the system

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Edit”

2 System navigates to Edit profile screen

3 Users edit information (change name, select image)

4 User clicks “Save”, the button displays the loading icon (spinner )

5 The loading icon is hidden, complete the information update

The loading icon is hidden, showing an error message

Short description In the Personal Information Management screen (profile) select change language

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Change language”

2 System navigates to Change language screen; list languages were showed

3 User selects the language he wants

4 The system changes the current language accordingly

Table 27 Sign in with Google usecase

Name Sign in with google

Short description At the login screen, the user selects “Sign in with Google”

1 In the login screen, the user selects “Sign in with Google”

2 Display dialog select google account

3 Users click on the account they want to log in to

4 Go to the page where the account is being verified

5 Go to the home page of the app

1 Sync with google account error occurred

Close the dialog, return to the Login screen

27) Create a plan with a voice assistant

Table 28 Create a plan with a voice assistant usecase

Name Create a plan with a voice assistant (Alan)

Short description Users use voice to create trip plans

Pre-conditions Signed in successfully

1 User activates Alan by saying “Hey Alan” or clicking on the Alan icon

2 User uses voice to answer Alan's requests, the user's reply to data will be saved on Alan studio

3 After having enough data, Alan sends the data to the application, and the application sends the information to the server to save

4 The system displays a message after successful creation

5 Creation failed The system displays the error message creating the plan

Short description User can view announcements related to them

Pre-conditions Signed in successfully

1 User click icon announcement in bottom tab to view his announcement

2 System shows all announcement by default

3 User can click on an announcement to mark as read

4 User can click on filter “All”, “Read” or “Unread” to filter his announcements

4.1 When user click on “All”, all announcements will be loaded

4.2 When user click on “Read”, all read announcements will be loaded 4.3 When user click on “Unread”, all unread announcements will be loaded

5 There are two types of announcements: added to plan and new request make friend

5.1 Added to plan: when logged user was added to another user’s plan, system will send notification to added account

5.2 New make friend request: if another user want to make friend with you, you will receive a notification, with 2 choices: agree or reject

5.3 Click “Agree”: system will create connect friend Click reject, this request will be canceled

The system displays the error message agree make friend request fail

Short description User can search and add new friend

Pre-conditions Signed in successfully

1 Click icon profile in bottom tab, system navigates to Profile screen

2 User can view his list friend, click “More” to search, and view more friend

3 User can click button “Add” in each friend he wants to make connect

4 User can click on that friend to view him/her profile

5 User can search by input email, system will load all user that has corresponding email

6 When user click “Add” with another user, he/she will receive an announcement to accept or reject the request When adding successfully, system will show an message “Send friend request successfully”

The system displays the error message make friend request fail

2.3.2.2.2 Usecase description for web application

Short description Admin added new location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the + button "add location" in the upper right corner, the form to enter new location information will appear

3 Fill in the information about the new location you want to create

5 The system displays a message that successfully added a new location

6 Go to the edit detail page of the newly added location

Input form will be closed

Error messages are displayed below the error field Admin continues to add locations

5 The server responded that adding a new location failed

- Admin selects Summit button to continue other operations

- Admin selects the Cannel button; the input form is closed

Name Location management: Edit information

Short description Admin changes the information of a location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the edit button (pen-shaped icon) in the middle of the location display frame, the system will go to the edit detail page of the selected location

4 Click the save button to save the changes

5 Display the message of successful data update

Return to previous location view page

Error messages are displayed below the error field Admin continues to update the location

5 The server responded that adding a new location failed

- Admin selects the Save button to continue the operation

- Admin selects the back button (arrow), returns to the previous page

3) Manage cards; types; districts: Create

Table 33 Manage cards; types; districts: Create usecase

Name Manage cards; types; districts: Create

Short description Admin creates new (tag | category | district)

Pre-conditions Admin has logged into the system

2 Select the respective tabs (tag | category | district)

3 Select the button create tag | category | province Display the new form to fill in the information

4 Fill in the information about the new type you want to create

6 The input form is closed

7 Show new successful message, object's list is reloaded

The form to fill in the information is closed End usecase

5 Server responds adding new object failed

- Admin selects the Save button to continue the operation

- Admin selects the Cancel button, and the form fills in information closes End usecase

4) Manage cards; types; districts: Update

Table 34 Manage cards; types; districts: Update

Name Manage cards; type; districts: Update

Short description Admin edit and update information (card | type | district)

Pre-condition Admin has logged into the system

2 Select the corresponding tab (tag | category | district)

3 At the object you want to change, click the edit button (the pen shape) in the Action column The form to edit the information of the object is displayed

5 The form closes, showing a successful update message The list in the table is updated according to the newly edited data

The form is closed End usecase

5 The server responded that the object editing is not successful

- Admin selects Save button and continues other activities

- Admin selects Cancel button, the form fills in information closes End usecase

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

View created plan

Figure 19 Sequence diagram of feature View created plan

Log out

Figure 20 Sequence diagram of feature Log out

Edit plan

Table 13 Edit plan information usecase

Short description In the plan details screen, select edit to go to the edit screen

1 At the detail plan screen , select Edit

2 The edit screen appears, the information of the current plan is displayed accordingly (same as the new creation screen)

3 Users change the information they want

4 Click “Save”, the system updates the plan information

5 5 After successful update, the application displays a message, then redirects back to the plan details screen

Table 14 Delete trip plan usecase

Short description In the plan details screen, select delete to delete the current plan

Pre-conditions Users who are logged in and have already created a plan

1 At the detail plan screen, click , select Delete

2 The application displays the confirmation message form

3 Select “Delete” to delete plan

4 The system deletes the plan in the storage, the application notices the successful deletion Then navigate to the screen showing the plans

3 Click “Cancel” The confirmation message closes, no other changes

4 Deletion failed Error messages delete failed

14) Create a plan for each day

Table 15 Create a plan for each day usecase

Name Create a plan for each day

Short description In the plan details screen, tap “Plan” to create a schedule for each day

Pre-conditions User logged in and created a plan

1 Click on the date you want to create

2 Click the “Add destination” button, the app goes to the gallery screen

4 The application returns to the old screen, adds the selected location to the existing list, with the default time and cost of 0

5 Select to change the time, change the estimated cost for the destination

7 The locations of the day are saved in the system After successful saving, the screen shows a success message

7 Save failed Save failed message

15) Clear plans for each day

Table 16 Clear plans for each day usecase

Name Clear plans for each day

Short description In the day-by-day schedule screen, the user can choose to delete a location planning all the locations of that day

Pre-conditions User logged in and created a plan

1 Click on the date you want to delete

2 To delete an already scheduled place, tap the trash can icon on the right corner of each location:

3 The application displays a deletion confirmation message

4 The user selects "Delete" the system will delete that place in the interface but not in the database yet

5 After editing is done, the user selects "Save All", the system sends the edited plan to the server and saves it

6 The system notifies the successful save

6 Save failed Save failed message

Table 17 Create a place review usecase

Short description Users type the places they have experienced

Pre-conditions User is logged in

1 Click “Create Review” in the place details page, “Reviews” tab, the application will switch to the review creation page

2 Select rating, time visited, title, detailed review

3 Select images in the device, the selected images are displayed under

4 Click "Save", the application checks the input validity and sends the data to the server, the server saves to the database, returns success

Show error below each error field

5 Save failed Show failed save message

17) Make suggestions for the place

Table 18 Make suggestions for the place usecase

Name Make suggestions for the place

Short description Users contribute opinions about information, images, displayed on the application

Pre-conditions User is logged in

1 User enters the location details page, tab “Overview”

2 Enter your comments in the comments field and click “Submit”

3 The system saves data, displays a successful message when sending is completed

3 Send failed The application shows a failed save message

Table 19 Report rating inappropriate usecase

Short description Users report reviews that use inappropriate words or false images

Pre-conditions The user is logged in and has a review created

1 In the place details screen or review view page, click per review

2 Click “Báo cáo” or “Report”, a dialog box containing the reason for the reported review is displayed

3 User enters reason, then press send

4 The data is sent to the server and saved, after successful saving, the success message is displayed

4 Send failed Application notifying save failed

Table 20 Add places to favorites usecase

Name Add places to favorites

Short description Add any place on the application to the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and saves the user's favorite list

3 Successful save message, icon turns red

3 Save failed Application notifying save failed

Table 21 Remove places from favorites usecase

Name Remove places from favorites

Short description Remove a place from the user's favorites list

Pre-conditions User is logged in

2 The system sends to the server and removes the place from the user's favorite list

3 Notification of successful shuffling, icon turns white

3 Deletion failed Application notifying delete failed

Table 22 Sign out the app usecase

Name Sign out of the app

Short description User logs out of the app

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click “Sign Out”, display a confirmation message to log out

3 Click 'OK', the system deletes user data and logs out of the app and gives a success message

4 Profile page no longer displays information

3 Sign out failed Logout failed message

Short description The user wants to create a new password

Pre-conditions User is logged in

1 In the Profile Management screen, click on three dots button, drop down menu showed

2 Click "Change password", display the waiting page (loading page)

3 Go to the Create new password page

4 User enters old password, new password, reconfirms new password

6 The system displays a successful password change message

3 Display the message that the account is not using a password to log in

User selects "Close" to close the notification, continue using the application

6 Invalid input Display the message “Confirmation password does not match” in the box to re-enter new password

6 The old password is incorrect

Display the message "Invalid password" in the old password input box

Short description The user forgot his password and wants to create a new password

Pre-conditions User is not logged in

1 At the Login screen, the user selects “Forgot Password”, the system will go to the Forgot Password page

2 At step 1 in the page, the user enters the email related to the account, clicks

4 At step 2 in the page, the user enters the confirmation code sent to the corresponding email, clicks "Confirm"

6 At step 3 in the page, the user enters a new password, confirms the new password, clicks "Confirm"

7 The system displays a successful new password creation message

3 Email is not in the systems; email does not use password to login

Displays a message that the email does not exist, or the email does not use the password to log in

Shows invalid authentication code message

Table 25 Edit personal information usecase

Short description In the Personal Information Management screen (profile) select Edit information

Pre-conditions The user has logged into the system

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Edit”

2 System navigates to Edit profile screen

3 Users edit information (change name, select image)

4 User clicks “Save”, the button displays the loading icon (spinner )

5 The loading icon is hidden, complete the information update

The loading icon is hidden, showing an error message

Short description In the Personal Information Management screen (profile) select change language

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Change language”

2 System navigates to Change language screen; list languages were showed

3 User selects the language he wants

4 The system changes the current language accordingly

Table 27 Sign in with Google usecase

Name Sign in with google

Short description At the login screen, the user selects “Sign in with Google”

1 In the login screen, the user selects “Sign in with Google”

2 Display dialog select google account

3 Users click on the account they want to log in to

4 Go to the page where the account is being verified

5 Go to the home page of the app

1 Sync with google account error occurred

Close the dialog, return to the Login screen

27) Create a plan with a voice assistant

Table 28 Create a plan with a voice assistant usecase

Name Create a plan with a voice assistant (Alan)

Short description Users use voice to create trip plans

Pre-conditions Signed in successfully

1 User activates Alan by saying “Hey Alan” or clicking on the Alan icon

2 User uses voice to answer Alan's requests, the user's reply to data will be saved on Alan studio

3 After having enough data, Alan sends the data to the application, and the application sends the information to the server to save

4 The system displays a message after successful creation

5 Creation failed The system displays the error message creating the plan

Short description User can view announcements related to them

Pre-conditions Signed in successfully

1 User click icon announcement in bottom tab to view his announcement

2 System shows all announcement by default

3 User can click on an announcement to mark as read

4 User can click on filter “All”, “Read” or “Unread” to filter his announcements

4.1 When user click on “All”, all announcements will be loaded

4.2 When user click on “Read”, all read announcements will be loaded 4.3 When user click on “Unread”, all unread announcements will be loaded

5 There are two types of announcements: added to plan and new request make friend

5.1 Added to plan: when logged user was added to another user’s plan, system will send notification to added account

5.2 New make friend request: if another user want to make friend with you, you will receive a notification, with 2 choices: agree or reject

5.3 Click “Agree”: system will create connect friend Click reject, this request will be canceled

The system displays the error message agree make friend request fail

Short description User can search and add new friend

Pre-conditions Signed in successfully

1 Click icon profile in bottom tab, system navigates to Profile screen

2 User can view his list friend, click “More” to search, and view more friend

3 User can click button “Add” in each friend he wants to make connect

4 User can click on that friend to view him/her profile

5 User can search by input email, system will load all user that has corresponding email

6 When user click “Add” with another user, he/she will receive an announcement to accept or reject the request When adding successfully, system will show an message “Send friend request successfully”

The system displays the error message make friend request fail

2.3.2.2.2 Usecase description for web application

Short description Admin added new location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the + button "add location" in the upper right corner, the form to enter new location information will appear

3 Fill in the information about the new location you want to create

5 The system displays a message that successfully added a new location

6 Go to the edit detail page of the newly added location

Input form will be closed

Error messages are displayed below the error field Admin continues to add locations

5 The server responded that adding a new location failed

- Admin selects Summit button to continue other operations

- Admin selects the Cannel button; the input form is closed

Name Location management: Edit information

Short description Admin changes the information of a location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the edit button (pen-shaped icon) in the middle of the location display frame, the system will go to the edit detail page of the selected location

4 Click the save button to save the changes

5 Display the message of successful data update

Return to previous location view page

Error messages are displayed below the error field Admin continues to update the location

5 The server responded that adding a new location failed

- Admin selects the Save button to continue the operation

- Admin selects the back button (arrow), returns to the previous page

3) Manage cards; types; districts: Create

Table 33 Manage cards; types; districts: Create usecase

Name Manage cards; types; districts: Create

Short description Admin creates new (tag | category | district)

Pre-conditions Admin has logged into the system

2 Select the respective tabs (tag | category | district)

3 Select the button create tag | category | province Display the new form to fill in the information

4 Fill in the information about the new type you want to create

6 The input form is closed

7 Show new successful message, object's list is reloaded

The form to fill in the information is closed End usecase

5 Server responds adding new object failed

- Admin selects the Save button to continue the operation

- Admin selects the Cancel button, and the form fills in information closes End usecase

4) Manage cards; types; districts: Update

Table 34 Manage cards; types; districts: Update

Name Manage cards; type; districts: Update

Short description Admin edit and update information (card | type | district)

Pre-condition Admin has logged into the system

2 Select the corresponding tab (tag | category | district)

3 At the object you want to change, click the edit button (the pen shape) in the Action column The form to edit the information of the object is displayed

5 The form closes, showing a successful update message The list in the table is updated according to the newly edited data

The form is closed End usecase

5 The server responded that the object editing is not successful

- Admin selects Save button and continues other activities

- Admin selects Cancel button, the form fills in information closes End usecase

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

8) View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

Figure 19 Sequence diagram of feature View created plan

Figure 20 Sequence diagram of feature Log out

Figure 21 Sequence diagram of feature View detail plan

Figure 22 Sequence diagram of feature Edit plan

Delete plan

Figure 23 Sequence diagram of feature Delete plan

Create detail places for each day in plan

Figure 24 Sequence diagram of feature Create detail places for each day in plan

Delete detail place in each day of plan

Figure 25 Sequence diagram of feature Delete detail place in each day of plan

Create place review

Figure 26 Sequence diagram of feature Create place review

Create contribution for place

Figure 27 Sequence diagram of feature Create contribution for place

Report invalid report

Figure 28 Sequence diagram of feature Report invalid report

Add favorite place

Figure 29 Sequence diagram of feature Add new favorite place

Figure 30 Sequence diagram of feature View all places

Create new plan

Figure 31 Sequence diagram of feature Create new plan

Change password

Figure 31 Sequence diagram of feature Change password

Forget password

Figure 32 Sequence diagram of feature Forgot password

Change language

Short description In the Personal Information Management screen (profile) select change language

1 In the Personal Information Management screen, click on three dots button, drop down menu showed, click on “Change language”

2 System navigates to Change language screen; list languages were showed

3 User selects the language he wants

4 The system changes the current language accordingly

Table 27 Sign in with Google usecase

Name Sign in with google

Short description At the login screen, the user selects “Sign in with Google”

1 In the login screen, the user selects “Sign in with Google”

2 Display dialog select google account

3 Users click on the account they want to log in to

4 Go to the page where the account is being verified

5 Go to the home page of the app

1 Sync with google account error occurred

Close the dialog, return to the Login screen

27) Create a plan with a voice assistant

Table 28 Create a plan with a voice assistant usecase

Name Create a plan with a voice assistant (Alan)

Short description Users use voice to create trip plans

Pre-conditions Signed in successfully

1 User activates Alan by saying “Hey Alan” or clicking on the Alan icon

2 User uses voice to answer Alan's requests, the user's reply to data will be saved on Alan studio

3 After having enough data, Alan sends the data to the application, and the application sends the information to the server to save

4 The system displays a message after successful creation

5 Creation failed The system displays the error message creating the plan

Short description User can view announcements related to them

Pre-conditions Signed in successfully

1 User click icon announcement in bottom tab to view his announcement

2 System shows all announcement by default

3 User can click on an announcement to mark as read

4 User can click on filter “All”, “Read” or “Unread” to filter his announcements

4.1 When user click on “All”, all announcements will be loaded

4.2 When user click on “Read”, all read announcements will be loaded 4.3 When user click on “Unread”, all unread announcements will be loaded

5 There are two types of announcements: added to plan and new request make friend

5.1 Added to plan: when logged user was added to another user’s plan, system will send notification to added account

5.2 New make friend request: if another user want to make friend with you, you will receive a notification, with 2 choices: agree or reject

5.3 Click “Agree”: system will create connect friend Click reject, this request will be canceled

The system displays the error message agree make friend request fail

Short description User can search and add new friend

Pre-conditions Signed in successfully

1 Click icon profile in bottom tab, system navigates to Profile screen

2 User can view his list friend, click “More” to search, and view more friend

3 User can click button “Add” in each friend he wants to make connect

4 User can click on that friend to view him/her profile

5 User can search by input email, system will load all user that has corresponding email

6 When user click “Add” with another user, he/she will receive an announcement to accept or reject the request When adding successfully, system will show an message “Send friend request successfully”

The system displays the error message make friend request fail

2.3.2.2.2 Usecase description for web application

Short description Admin added new location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the + button "add location" in the upper right corner, the form to enter new location information will appear

3 Fill in the information about the new location you want to create

5 The system displays a message that successfully added a new location

6 Go to the edit detail page of the newly added location

Input form will be closed

Error messages are displayed below the error field Admin continues to add locations

5 The server responded that adding a new location failed

- Admin selects Summit button to continue other operations

- Admin selects the Cannel button; the input form is closed

Name Location management: Edit information

Short description Admin changes the information of a location

Pre-conditions Admin has logged into the system

1 Admin to the location management section

2 Click the edit button (pen-shaped icon) in the middle of the location display frame, the system will go to the edit detail page of the selected location

4 Click the save button to save the changes

5 Display the message of successful data update

Return to previous location view page

Error messages are displayed below the error field Admin continues to update the location

5 The server responded that adding a new location failed

- Admin selects the Save button to continue the operation

- Admin selects the back button (arrow), returns to the previous page

3) Manage cards; types; districts: Create

Table 33 Manage cards; types; districts: Create usecase

Name Manage cards; types; districts: Create

Short description Admin creates new (tag | category | district)

Pre-conditions Admin has logged into the system

2 Select the respective tabs (tag | category | district)

3 Select the button create tag | category | province Display the new form to fill in the information

4 Fill in the information about the new type you want to create

6 The input form is closed

7 Show new successful message, object's list is reloaded

The form to fill in the information is closed End usecase

5 Server responds adding new object failed

- Admin selects the Save button to continue the operation

- Admin selects the Cancel button, and the form fills in information closes End usecase

4) Manage cards; types; districts: Update

Table 34 Manage cards; types; districts: Update

Name Manage cards; type; districts: Update

Short description Admin edit and update information (card | type | district)

Pre-condition Admin has logged into the system

2 Select the corresponding tab (tag | category | district)

3 At the object you want to change, click the edit button (the pen shape) in the Action column The form to edit the information of the object is displayed

5 The form closes, showing a successful update message The list in the table is updated according to the newly edited data

The form is closed End usecase

5 The server responded that the object editing is not successful

- Admin selects Save button and continues other activities

- Admin selects Cancel button, the form fills in information closes End usecase

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

8) View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

Figure 19 Sequence diagram of feature View created plan

Figure 20 Sequence diagram of feature Log out

Figure 21 Sequence diagram of feature View detail plan

Figure 22 Sequence diagram of feature Edit plan

Figure 23 Sequence diagram of feature Delete plan

14) Create detail places for each day in plan

Figure 24 Sequence diagram of feature Create detail places for each day in plan

15) Delete detail place in each day of plan

Figure 25 Sequence diagram of feature Delete detail place in each day of plan

Figure 26 Sequence diagram of feature Create place review

Figure 27 Sequence diagram of feature Create contribution for place

Figure 28 Sequence diagram of feature Report invalid report

Figure 29 Sequence diagram of feature Add new favorite place

Figure 30 Sequence diagram of feature View all places

Figure 31 Sequence diagram of feature Create new plan

Figure 31 Sequence diagram of feature Change password

Figure 32 Sequence diagram of feature Forgot password

Figure 33 Sequence diagram of feature Edit profile

Figure 34 Sequence diagram of feature Change language

Log in with Google

Figure 35 Sequence diagram of feature Log in with Google

Add friend

Figure 36 Sequence diagram of feature Add friends

View announcement

Figure 37 Sequence diagram of feature View announcement

3.2.1 Sequence diagram of Web app

Manage places: Add new place

Figure 38 Sequence diagram of feature Add new place

Manage places: Edit place

Figure 39 Sequence diagram of feature Edit place

Manage tags, categories, provinces: Create new

Figure 40 Sequence diagram of feature Create new tags, categories, provinces

Manage explores: Create new

Table 35 Manage explore – create usecase

Short description Admin creates new a explorer

Pre-conditions Admin has logged into the system

1 Admin go to Explores section

2 Click on Create explore The form to create a new object is displayed

5 The form is closed Displays a message that the Explore is successful

The form to fill in the information is closed End usecase

5 The server response is that adding a new object failed

- Admin selects the Save button and continues the operation

- Admin selects the Cancel button, and the form closes End usecase

Table 36 Manage explore – update usecase

Short description Admin updated explorer information

Pre-conditions Admin has logged into the system

2 Admin moves the mouse to explore to edit information, and displays the edit button and selects The form containing information about the explorer that needs to be edited is displayed

4 Click the button Submit to save the change

5 The form is closed Display the message of successful Explore update

The form to fill in the information is closed End usecase

5 The server responded that the object editing was not successful

- Admin selects the Save button to continue the operation

- Admin selects Cancel button, form closes End usecase

7) Manage user: Lock/unlock the user's account

Table 37 Lock/unlock the user's account - usecase

Name User management: Lock/unlock user accounts

Short description Admin locks/unlocks user's account

Pre-conditions Admin has logged into the system

2 In the users table In the row of the user to be updated, select the toggle button in the Update column

3 Show user lock/unlock confirmation message

5 Admin selects Cancel button, form closes End usecase

The confirmation form is closed End usecase

The form closes Display an error message End usecase

8) Manage Contributes: Mark viewed, hidden

Table 38 Manage Contributes: Mark viewed, hidden usecase

Name Manage Contributes: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 In Contributes, select to Contributes (Newest/ Seen), select to button setting (ellipsis ) Select Hidden/mark as unread at Seen, mark as read at Newest)

Display an error message End usecase

9) Manage Contributes: View related information

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

8) View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

Figure 19 Sequence diagram of feature View created plan

Figure 20 Sequence diagram of feature Log out

Figure 21 Sequence diagram of feature View detail plan

Figure 22 Sequence diagram of feature Edit plan

Figure 23 Sequence diagram of feature Delete plan

14) Create detail places for each day in plan

Figure 24 Sequence diagram of feature Create detail places for each day in plan

15) Delete detail place in each day of plan

Figure 25 Sequence diagram of feature Delete detail place in each day of plan

Figure 26 Sequence diagram of feature Create place review

Figure 27 Sequence diagram of feature Create contribution for place

Figure 28 Sequence diagram of feature Report invalid report

Figure 29 Sequence diagram of feature Add new favorite place

Figure 30 Sequence diagram of feature View all places

Figure 31 Sequence diagram of feature Create new plan

Figure 31 Sequence diagram of feature Change password

Figure 32 Sequence diagram of feature Forgot password

Figure 33 Sequence diagram of feature Edit profile

Figure 34 Sequence diagram of feature Change language

Figure 35 Sequence diagram of feature Log in with Google

Figure 36 Sequence diagram of feature Add friends

Figure 37 Sequence diagram of feature View announcement

3.2.1 Sequence diagram of Web app

1) Manage places: Add new place

Figure 38 Sequence diagram of feature Add new place

Figure 39 Sequence diagram of feature Edit place

3) Manage tags, categories, provinces: Create new

Figure 40 Sequence diagram of feature Create new tags, categories, provinces

4) Manage tags, categories, provinces: Edit

Figure 41 Sequence diagram of feature Manage tags, categories, provinces: Edit

Figure 42 Sequence diagram of feature Create new explore

Manage explores: Edit

Figure 43 Sequence diagram of feature Edit explore.

Manage users: Lock/unlock account

Figure 44 Sequence diagram of feature Lock/unlock account

Manage contributes: View related infomation

Table 39 Manage Contributes: View related information usecase

Name Manage Contributes: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes (Newest/ Seen), click the button setting (ellipsis ) Select Go to this place/ Contirbutor info

- Go to this place: go to the edit detail page of the place to be contributed

- Contribute info: go to the user management page, display in the user panel the information that the user has contributed

3 Server/Web error, redirect failed

Display an error message End usecase

10) Manage Reported review: Mark viewed, hidden

Table 40 Manage reported view: mark viewed, hidden usecase

Name Reported review management: mark viewed, hidden

Short description Admin marks viewed/hidden

Pre-conditions Admin has logged into the system

2 At Reported review, select Reported review at (Newest/ Seen), select button setting (ellipsis ) Select Hide review/ mark as unread at Seen, mark as read at Newest

3 The server responded that editing the new object was not successful

Display an error message End usecase

11) Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

8) View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

Figure 19 Sequence diagram of feature View created plan

Figure 20 Sequence diagram of feature Log out

Figure 21 Sequence diagram of feature View detail plan

Figure 22 Sequence diagram of feature Edit plan

Figure 23 Sequence diagram of feature Delete plan

14) Create detail places for each day in plan

Figure 24 Sequence diagram of feature Create detail places for each day in plan

15) Delete detail place in each day of plan

Figure 25 Sequence diagram of feature Delete detail place in each day of plan

Figure 26 Sequence diagram of feature Create place review

Figure 27 Sequence diagram of feature Create contribution for place

Figure 28 Sequence diagram of feature Report invalid report

Figure 29 Sequence diagram of feature Add new favorite place

Figure 30 Sequence diagram of feature View all places

Figure 31 Sequence diagram of feature Create new plan

Figure 31 Sequence diagram of feature Change password

Figure 32 Sequence diagram of feature Forgot password

Figure 33 Sequence diagram of feature Edit profile

Figure 34 Sequence diagram of feature Change language

Figure 35 Sequence diagram of feature Log in with Google

Figure 36 Sequence diagram of feature Add friends

Figure 37 Sequence diagram of feature View announcement

3.2.1 Sequence diagram of Web app

1) Manage places: Add new place

Figure 38 Sequence diagram of feature Add new place

Figure 39 Sequence diagram of feature Edit place

3) Manage tags, categories, provinces: Create new

Figure 40 Sequence diagram of feature Create new tags, categories, provinces

4) Manage tags, categories, provinces: Edit

Figure 41 Sequence diagram of feature Manage tags, categories, provinces: Edit

Figure 42 Sequence diagram of feature Create new explore

Figure 43 Sequence diagram of feature Edit explore

7) Manage users: Lock/unlock account

Figure 44 Sequence diagram of feature Lock/unlock account

8) Manage contributes: Mask as read/Hide

Figure 45 Sequence diagram of feature Mask as read/hide contributes

9) Manage contributes: View related infomation

Figure 46 Sequence diagram of feature View related infomation

Manage Reported review: View related information

Table 41 Manage reported review: view related information

Name Manage Reported review: view related information

Short description Admin review information related to contribute

Pre-conditions Admin has logged into the system

2 At Contributes, select Contributes at (Newest/ Seen), select button setting (ellipsis ) Select Edit this place/ Reviewer info/ never| show this report

- Edit this place: go to the edit detail page of the place to be contributed

- Reviewer info: go to the user management page, display in the user panel the information that the user has contributed

- Never| show this report: Display successful operation message

3 Server/Web error, redirect failed

Display an error message End usecase

3.2.1 Sequence diagram in mobile application

Figure 11 Sequence diagram of feature Sign up

Figure 12 Sequence diagram of feature Login

Figure 13 Sequence diagram of feature View review

Figure 14 Sequence diagram of feature Search places

Figure 15 Sequence diagram of feature View places

Figure 16 Sequence diagram of feature Search places in map

Figure 17 Sequence diagram of feature Find the route

8) View detail information about place

Figure 18 Sequence diagram of feature View detail information about place

Figure 19 Sequence diagram of feature View created plan

Figure 20 Sequence diagram of feature Log out

Figure 21 Sequence diagram of feature View detail plan

Figure 22 Sequence diagram of feature Edit plan

Figure 23 Sequence diagram of feature Delete plan

14) Create detail places for each day in plan

Figure 24 Sequence diagram of feature Create detail places for each day in plan

15) Delete detail place in each day of plan

Figure 25 Sequence diagram of feature Delete detail place in each day of plan

Figure 26 Sequence diagram of feature Create place review

Figure 27 Sequence diagram of feature Create contribution for place

Figure 28 Sequence diagram of feature Report invalid report

Figure 29 Sequence diagram of feature Add new favorite place

Figure 30 Sequence diagram of feature View all places

Figure 31 Sequence diagram of feature Create new plan

Figure 31 Sequence diagram of feature Change password

Figure 32 Sequence diagram of feature Forgot password

Figure 33 Sequence diagram of feature Edit profile

Figure 34 Sequence diagram of feature Change language

Figure 35 Sequence diagram of feature Log in with Google

Figure 36 Sequence diagram of feature Add friends

Figure 37 Sequence diagram of feature View announcement

3.2.1 Sequence diagram of Web app

1) Manage places: Add new place

Figure 38 Sequence diagram of feature Add new place

Figure 39 Sequence diagram of feature Edit place

3) Manage tags, categories, provinces: Create new

Figure 40 Sequence diagram of feature Create new tags, categories, provinces

4) Manage tags, categories, provinces: Edit

Figure 41 Sequence diagram of feature Manage tags, categories, provinces: Edit

Figure 42 Sequence diagram of feature Create new explore

Figure 43 Sequence diagram of feature Edit explore

7) Manage users: Lock/unlock account

Figure 44 Sequence diagram of feature Lock/unlock account

8) Manage contributes: Mask as read/Hide

Figure 45 Sequence diagram of feature Mask as read/hide contributes

9) Manage contributes: View related infomation

Figure 46 Sequence diagram of feature View related infomation

10) Manage reported review: Mask as read/hide

Figure 47 Sequence diagram of feature Mask as read/hide reported review

11) Manage Reported review: View related information

Figure 48 Sequence diagram of feature View related information reported review

Stt Field Data type Description

1 id String Id- primary key

5 favorite List List of saved places to favorites

6 isUser Boolean Define the role of the account

7 createdAt DateTime Account creation time

8 updatedAt DateTime Time of last edit to user's information

List of recently searched places by the user

10 image String User avatar image url

11 friends List Friends list

List List of people who sent friend requests

1 Id String Id – primary key

3 engName String Place name in English

5 longtitude Float Geographic longitude of the place

6 lattitude Float Geographical latitude of the place

8 category ObjectId Classification of places

9 tags List Tags represent features related to the place

10 reviewCount int Number of comments, reviews

11 weight int Weight, used while calculating rating

12 province ObjectId Province to which the location belongs

13 createdAt DateTime Location creation time

14 updatedAt DateTime Last update time

15 status Enum Current status

18 price List Fluctuating price

19 rate Float Default rating (specified by admin)

20 rateVoting Float It’s the current rate of the location

Formula: (weight * rate + rateUser1+ rateUser2+ + rateUsern)/(weight +n)

21 reviewStatus Object Quickly categorize review types

22 popular Boolean Classification of places of interest in the current time (specified by admin)

23 images List List of descriptive photo urls for the location

24 engDescripion String Description in English

25 engAddress String Address in English

26 viewCount int Number of viewers

27 geometry Object Coordinate structure in mongodb

1 id String Id - primary key

2 name String The name of the current category

3 color String The color represents the current type

4 isHidden Boolean Condition is still in use or not

6 updatedAt DateTime Last update time

7 engName String English name of the category

1 id String Id - primary key

3 engName String English name of the city

4 color String The color represents the current province

5 image String The image url represents the current province

6 placeCount Number Number of locations in the province

7 isHidden Boolean Condition is still in use or not

9 updatedAt DateTime Last updated time

1 id String Id - primary key

2 name String The name of the current tag

3 isHidden Boolean Condition is still in use or not

5 engName String English name of tag

1 id String Id - primary key

2 user String Contributing creator information

4 place ObjectId Thông tin địa điểm được đóng gớp

5 isSeen Boolean The status has been viewed by the admin or not

6 isHidden Boolean The status is cleared or not

8 updatedAt DateTime Last update time

1 id String Id - primary key

2 titlte String The title of the discovery section

3 description String Description of the discovery section

4 tags List List of tags in the discovery section

5 banner String Description image url for discovery

6 isHidden Boolean The status is cleared or not

8 updatedAt DateTime Last update time

9 engName String English name of Explorer

10 engTitle String Title in English

1 id String Id - primary key

2 title String Title of the review

3 content String Content of the review

4 rate Number Goodness of the rating

5 likeCount Number Number of people who appreciate this review

6 likeUser List List of highly rated reviews

7 visitedTime DateTime Time the reviewer arrived at this location

8 place String The place is rated

9 user ObjectId The person doing the review

10 images List List of reviewer photos urls included for illustrative purposes

11 isHidden Boolean Condition is still in use or not

13 updatedAt DateTime Last update time

1 id String Id - primary key

2 name String Name of the schedule

3 start DateTime Plan start date

4 end DateTime Plan end date

5 note String Notes for the trip

6 photoUrl String The image url represents the plan

7 isHidden Boolean Whether the plan status has been cleared or not

10 updateAt DateTime Last update time

11 members List List of members participating in the plan

12 status String The status of the plan includes: private, public

2 plan ObjectId The plan to which this section belongs

5 places List

List of places marked by the user

6 note String Additional notes for this section

7 isHidden Boolean The status is cleared or not

9 updatedAt DateTime Last update time

1 id String Id - primary key

2 reason String Reason for the report

3 reviewId String The information of the review is reported

4 isSeen Boolean The status has been viewed or not of the admin

5 isHidden Boolean The status has been cleared or not

6 reporter ObjectId Report creator information

8 UpdatedAt Date Last update time

1 id String Id - primary key

2 receiver String Reason for the report

3 type String The information of the review is reported

4 creator Boolean The status has been viewed or not of the admin

5 title Boolean The status has been cleared or not

6 content ObjectId Report creator information

8 updatedAt Date Last update time

9 unread Boolean Check that announcement has read or not by user

10 image String Link image of announcement

11 plan ObjectId Link plan if this announcement from plan

Figure 50 The first intro screen interface Figure 51 The final intro screen interface

Figure 52 Description of the opening screen interface

1 Button Skip the intro, go to the login screen

2 Button Continue to watch the intro screen

3 Button Redirect screen to login screen

4 Button Skip login, redirect to homepage

Table 54 Description of login screen

3 Button Redirect to forgot password page

5 Button Redirect to registration screen

7 Button Skip login step, redirect to homepage

Figure 54 Registration screen Figure 55 Registration error screen

Table 55 Description of the registration screen interface

1 Button Back to login screen

2 TextInput Enter email Email has never registered any account

3 TextInput Enter the user's full name

5 TextInput Re-enter passwords confirm

6 Button Handling account registration for users

7 Button Show or hide password when user enters

Figure 56 Recovery email input screen Figure 57 Code entry screen

Figure 58 New password input screen Figure 59 Success confirmation screen

Table 56 Description of the forgot password screen

1 Button Return to the login screen

2 TextInput Enter recovery email Email already registered

3 Button Confirm, the system sends the code to email

3 TextInput Enter the system code sent in the email

4 TextInput Enter your new password

5 TextInput Re-enter passwords confirm

6 Button Show or hide password when user enters

7 Button Redirect to login page with new password

Table 57 Description of the navigation bar

1 Button Redirect the screen to the home page

2 Button Redirect the screen to the location search page on the map

3 Button Redirect the screen to the user's list of plans

Where the user is not logged in, an alternate page appears

4 Button Redirect the screen to the user's profile

Figure 61 Home page (1) Figure 62 Home screen (2)

Figure 63 Home page (3) Figure 64 Home page (4)

Table 58 Description of the home screen

1 Button Virtual assistant screen navigation

2 Button Screen redirect to user profile screen

3 TextInput Navigate the screen to search for places on the map

In case the user is not logged in, an alternate page appears

4 Button Redirect the screen to see more places of type “Popular places” for specific users

5 Button Redirects to the detail view of the selected place

6 Button Add places to user's favorites If the user is not logged in, a message asking to log in will appear

7 Button Redirect to the screen of places of the selected type

8 Button Redirect to the screen the locations related to the selected banner

9 Button Redirect to the screen to see more provinces of Vietnam

10 Button Redirects to the page to view locations available in the selected province

Figure 65 Location details screen Figure 66 Location details screen

Figure 67 Location details screen – user- generated contribution

Figure 68 Successful contribution creation screen

Table 59 Description of the location detail screen

1 Button Return to previous screen

2 Button Add places to favorites The function works when the user is logged in

3 Tab Show overview of location information

4 Tab Map display and location locator

5 Tab Show user reviews of the place

6 Button Show more location descriptions

7 TextInput Enter the content to contribute

8 Button Save contribution and send to admin

The function works when the user is logged in

Figure 69 Location tab screen on the map of the place

Table 60 Description of the location tab screen interface

3 Button Show overview of location information

4 Button Route search map navigation

3.4.1.8 Location details screen ( tab views reviews)

Figure 70 Review view screen in details page Figure 71 Screen when there are no reviews yet

Table 61 Description of the review tab screen interface

2 Button Users like to rate The function works when the user is logged in

3 Image Displays the full screen size of the images of the selected review

4 Button Display panel to generate assessment report

The function works when the user is logged in

5 Button Redirects to the page to see all user reviews of the place being viewed

6 Button Redirect to review creation page The function works when the user is logged in

Figure 72 Report creation screen Figure 73 Success message screen

Table 62 Description of the evaluation report creation screen interface

2 Button Send report to admin The function works when the user is logged in

Figure 74 View all reviews screens Figure 75 Screen view image of the review

Table 63 Description of the review screen

1 Button Return to previous screen

2 Button Redirect to review creation screen The function works when the user is logged in

3 View See the pictures of the full screen review

4 Button Close the currently viewed image

Figure 76 Review creation screen (1) Figure 78 Message created successfully

Table 64 Description of the review creation screen

1 Button Return to previous screen

4 TextInput Enter a title for the review

5 TextInput Enter the content of the review

6 Button Select image for review

7 Button Process of creating reviews

C 7 6 M Figure 79 Location search screen - empty result

Figure 80 Location search screen Figure 81 Location search sreen when entering keywords

Table 65 Description of the location search screen

1 Button Return to previous screen

3 View Searchable information, click to redirect to details page

3.4.1.13 Plan view screen when not logged in

Figure 82 Plan view screen when not logged in

Table 66 Description of the plan screen when not logged in

1 Button Go to the plan creation screen The function works when the user is logged in

2 Button Go to login screen

Figure 83 Screen of created plans

Table 67 Description of plan view screen

1-2-3 Button Show the plans corresponding to the time

4 View Redirect to plan details page

Figure 84 Plan overview screen Figure 85 Plan route screen on map

Table 68 Description of the plan overview screen

1 Button Return to previous screen

2 Button Redirect to edit screen

3 Button Show plan deletion message

5 Tab Show the route and location of the planned places on the map

6 Text Redirect to the plan edit screen

7 Button Redirects to the day-by-day planner screen

8 Button Redirect to gallery screen

9 Button Redirect to anniversary screen Developing

11 View Redirect to location details screen

13 View Redirect to location details screen

Table 69 Description of plan creation screen

1 Button Select the image in the device

4 TimePicker Choose a start and end time

Figure 84 Day planner screen Figure 87 Button add, delete, save

Table 70 Description of the day plan screen

1 Button Show plan for selected day

2 Button Show notes, can edit notes

3 TimePicker Choose your destination time

4 Button Remove the place from the schedule

5 TextInput Enter the estimated cost for the destination

6 Button Display TextInput input cost

7 View Go to the location details screen

8 Button Go to the location selection screen

Table 71 Description of the screen of the processing buttons

1 Button Go to the add location screen

3 Button Clear the currently displayed date schedule

4 Button Close display of processing buttons

Table 72 Screen description of the collection of favorite places

1 Button Add a place to the plan

2 TextInput Navigate to the location search screen

3.4.1.18 Location search screen on map

Figure 89 Map screen Figure 90 Location information screen

Table 73 Description of location search screen on map

1 TextInput Redirect to the search keyword input screen

2 Button Display coordinates of places of the selected category

3 Button See the distance between 2 points

4 Button Determine the user's coordinates

5 Button Redirect to start and destination input screen for route search

6 Button Close the info panel

7 Button Navigate to the route finder screen, enter the starting location

8 Button Redirect to location details screen

Figure 91 Location selection screen Figure 92 Location selection screen on the map

Table 74 Description of the location selection screen on the map

2 Button Switch to the location selection screen on the map

3 Button Confirm the place to look

1 Button Confirm the selected point and redirect to the search screen

3 Button Return to previous screen

3.4.1.19 Route screen on the map

Figure 93 Screen of the route between 2 locations

Table 75 Description of the route screen on the map

1 Button Start guiding the way

2 Button Cancel the route and 2 selected locations

3 Button Close the info panel

3.4.1.19 User profile screen when not logged in

Figure 94 User profile screen when not logged in

Table 76 Description of user profile screen when not logged in

1 Button Navigate through the language change screen

2 Button Redirect through login screen

Figure 95 User profile screen Figure 96 Personal information change screen

Table 77 Description of the user profile screen

1 Button Redirect to information change screen

2 Button Switch to the list of favorite places screen

3 Button Go to the password change screen

4 Button Switch to language change screen

Table 78 Description of the user information change screen

1 Button Select the image in the device

Table 79 Description of the language switching screen

1 Button Select the language you want to switch

2 Button Return to previous screen

Table 80 Description of the password change screen

2 TextInput Enter your new password

5 Button Return to previous screen

Table 81 Description of the notification screen

Table 82 Description of Friend search screen

Table 83 Description of the admin login page screen

4 Button Sign in with google

Table 84 Description of home page

2 Button Click to open the statistics page

3 Button Click to open user management page

4 Button Click to open the site management page

5 Button Click to open the site's properties settings page

6 Button Click to open the management page of banners displayed on the mobile app

Figure 104 Home page – View user reports

Table 85 Description of the statistics page

1 Button Close/open menu of process buttons

2 Button Tap to hide reivew from showing

3 Button Mark the admin who has read these articles

4 Button Hide this report from admin

5 Button Redirect to location edit page

6 Button Redirects to the reported review creator page

Figure 106 User active confirmation screen

Table 86 Description of the user management page

3 Button Cancel block/active user

4 Button Confirm user block/active

Figure 107 Settings management page– province manager

Table 87 Description of the provincial management and setting page

1 Tab Show provincial management tab

2 Tab Show tag management tab

3 Tab Display the location type management tab

4 Button Opens the create new province dialog box

5 Selected Filter provinces by attribute

6 Button Open the edit province dialog box

7 Input Enter the search keyword for the province name

Table 88 Description of the provincial information editing page

1 Input Enter the name of the province

2 Color picker Click to choose a representative color

3 Input Enter image url to display on app

4 Switch Enable/disable the province's visibility to users

6 Button Close dialog box, do not save changes

Figure 110 Tag creation dialog screen

Table 89 Description of the tag management page

1 Button Open tag creation dialog

2 Selected Filter tags by attribute

3 Input Enter keywords to search for tags by name

4 Button Open tag edit dialog

6 Switch Enable/disable tag display status to users

8 Button Close dialog, do not save information

9 Input Tag name in English

Figure 111 Location type management screen

Figure 112 Place type creation screen

Table 90 Description of the site type management page

1 Button Open the create a place type dialog

3 Input Enter keyword to search type of place by name

4 Button Open the place type edit dialog

5 Input Enter a place type name

7 Switch Enable/disable location type display status to users

8 Button Save location type information

9 Button Close dialog, do not save information

10 Input Name of category in English

Table 91 Description of banner management page

1 Button Location management interfaceClose banner creation dialog

6 Switch Enable/disable banner display status to users

8 Button Close dialog, do not save information

9 Button Open banner edit dialog

10 Button Open the banner creation dialog

Table 92 Description of the site management page

1 Selected Filter locations by province

2 Selected Filter scores by type

3 Input Search places by name

4 Button Open the create place dialog

5 Button Go to location edit page

INSTALL AND TEST

Ngày đăng: 17/07/2023, 15:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w