Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 2.39 KB

ECS189E-1.md

File metadata and controls

38 lines (30 loc) · 2.39 KB

ECS189E-1

Overview

This App is a crypto currency wallet, which can be broken down into 3 parts: login, wallet, and transaction.

For the login part, this App will use the phone number authentication. To be more specific, the App will take a phone number from the user and send a verification code to this phone number by text message. the App will then ask the user to enter the code and verify user's identity. This App only support US phone number.

For the wallet part, this App will display the wallet, which has a table of accounts and the information of each account, which contains the name of the account and the amount of encrypted currency.

For the transaction part, this App will allow the user to make transactions between the accounts in the wallet.

The design might be changed during the development of the App. Please check the document for each version.

Version and Status

Version 1.0
Supported Device iPhone
Orientation Portrait
Launch Screen Done
AppIcon iPhone and App Store

View

The auto layout is applied to all the views, including launch screen. The UILabel that is used to display error detection result is hidden and the corners of the UIButton is rounded by half of the height.

Functions Completed

Format the input while tapping

Used UITextField Delegate and libPhoneNumber_iOS Pod to format the user input to national phone number format.

Error Detection and Display

Used .filter to get the phone number from formatted phone number. The App will test if user entered anything and if user entered exact 10 digits. The App will only test the input when user tap the "Next" button.

Condition Implementation Message UIColor
No input Count the digits "Please enter your phone number." .red
Invalid input Count the digits "Your phone number is invalid." .red
Valid input Else Phone number in E164 format .init(red: 0.0, green: 200/255, blue: 0.0, alpha: 1.0)

Keyboard

For this text field, the phone number keyboard is offered. When user tap on the text field, the keyboard will be shown. If users tap elsewhere (touchesBegan) or tap the "Next" button (@IBAction func nextOnTap), the keyboard will be hidden (self.view.endEditing(true)).

Pod Used

libPhoneNumber_iOS