Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

On-Boarding Screen for Apps

Description / Background

Improving the user experience when they first open hungryhub application by introducing the hungryhub product and hungry points.

Glossary

Objectives

  • Improve user experience on using hungryhub application
  • Collect user data to customize the recommended restaurant
  • Give user information about hungryhub product
  • Get user location
  • Get permission to send notification
  • Give information about hungry point to user
  • Offers user to join hungryhub to get the benefit

Scope

on boarding page on mobile apps

Location

-

How to find this feature

User can find this feature when they open app for the first time

How to set ..

-

Sequence Diagram / Flow

-

ERD

-

Backend Implementation

Frontend Implementation

URL: {base_pegasus_url}/{language}/on-boarding/?hybrid=true (can get system language to get user's current language or use 'th' as default language) This screen will replace the select language screen when the first time installed. When click get started trigger this event: Web Event: onLanguageSelected response:

{
   "language": "en"
}

App client will set that value to local for use in any pages. After that event triggered will open the on boarding screen page.

On Boarding Screen

URL: {base_pegasus_url}/{language}/on-boarding/get-started?hybrid=true Web Event: onSkipClicked response: (no need) The client will redirect users to the homepage and mark the tutorial as seen. So, next time user won't see the tutorial or onboarding screen again.

Web Event: onAllowNotificationLocation response: (no need) The client will request permission to send notification and location to the user.

Client Event: doNextPage Client trigger this event to see next page, in example after approve or denied permission need to trigger this to see the next screen.

Web Event: onBoardingComplete For the last next button, hybrid need to trigger this event, and after that client will redirect to register page.

Create Account/Registration Page and Login Page

using native

Term of Service PopUp

URL: {base_pegasus_url}/{language}/on-boarding/terms-of-service/?hybrid=true We'll do it hybrid with these event: Web Event: onAcceptContinue response:

{
"subscribe_marketing_email": true
}

Value subscribe_marketing_email based on the checkbox above button accept & continue. If accepted, the client will process registration and will set subscribe_marketing_email value on payload register based on response.

Web Event: onCloseView Client will dismiss the dialog and show previous register page.

What's your birthday?

Trigger: After users sign in or register and open homepage, the client will check users' birthday data. We need to save the state if we already show the birthday pop-up or not. If the birthday is null and we haven't shown a birthday pop up we'll show it.

if (birthday == null && !isBirthdaySeen) {
    // show what's your birthday
}

After onMounted triggered will send doSetupData with access_token like this: Client Event: doSetupData payload:

{
    "access_token": "{access_token}"
}

Web Event: onSkipBirthday If this event is triggered we'll mark isBirthdaySeen true and not show again when opening the homepage.

When click submit, hybrid will hit this API: {{ base_api }}/users.json note: birthday format is MM-dd

After successfull update will trigger this event: Web Event: onBirthdaySubmitted Client app can get users profile again to update users local data.

PRD & Task

Private (https://app.clickup.com/9003122396/docs/8ca1fpw-7922/8ca1fpw-40696) Private (https://app.clickup.com/t/860qykab5)

Design

[

On-boarding Screen Redesign

Created with Figma

https://www.figma.com/file/tKlrn01t2obgGBzIzDajki/On-boarding-Screen-Redesign?type=design&node-id=284%3A2521&mode=design&t=c1NjKl6MXhzv7qGY-1

](https://www.figma.com/file/tKlrn01t2obgGBzIzDajki/On-boarding-Screen-Redesign?type=design&node-id=284%3A2521&mode=design&t=c1NjKl6MXhzv7qGY-1)

API Blueprint

-

New Query

-

DB Schema / Database Migration

-


Improvement:

-