---
# System prepended metadata

title: Address Book 5.1

---

# Address Book 5.1
![](https://hackmd.io/_uploads/HyY73Rtmc.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*


## The technology stack
**Front-end:**
1. Flutter v2.8.1 Stable release
2. Dart v2.12.0 with null safety
3. Used dependencies:
  * sembast: 3.1.0+2 (database)
  * contacts_service: 0.6.1 (accessing device's contacts)
  * permission_handler: 8.1.6
  * http: 0.13.3 (communication with api)

**Back-end:**
1. Node.JS stable version 14.18.3 with:
 * Typescript v4.5.4
 * Express.js v.4.17.2

2. MongoDB shell version v4.2.18


## The testing approaches description

### Front-end
**For platform testing were used several native dependencies:** 
1. flutter_test for unit tests
2. integration_test for integration tests

**Manual tests perfomed by the QA engineer**

### Back-end

JEST for the unit tests


## Configuration consideration
1. Azure DevOps pipeline and release service
2. Deploy on AWS EC2 instance.

## Hosting requirements
Name: AWS t3.small	
vCPUs: 2
Memory (GiB): 2
Storage: 8GB

## Access requirements
API Gateway for all JustPay services:
https://api.w.justpay.io


## User interface
The address book is a service for a wallet that allows sending Tagions to another wallet registered in this service with a phone number. 

![](https://hackmd.io/_uploads/ryY1RLNVc.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*

## List of features
* The wallet creating functionality (with an ability to create a recovery file)
* The contacts sharing functionality
* The ability of contact activation on the Tagion server
* The ability to send tagions via the contact list or one-time address functionality
* The 'Scan' menu option for reading the one-time address

### How it works
**Step 1**
When the application is downloaded, create a wallet by clicking the 'Create wallet' button. For security reasons, we recommend you create the wallet with recovery.

![](https://hackmd.io/_uploads/BkeXCLN4c.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*

Set a PIN Code and repeat it.

**Step 2**
When the new wallet is created, you can share your contacts with other users. 

![](https://hackmd.io/_uploads/ryVHCUNNc.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*


**To do it:**
1. Go to the 'Send' menu item.
1. Select the 'Contact list' option.
1. Click the 'Allow access' button.
1. Click 'OK'.

![](https://hackmd.io/_uploads/HkfS1w44q.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*

*Note:  You cannot add the new contact directly to your Tagion address book. Add it first to your mobile phone contact list. The new contacts added to your phone's address book will be automatically displayed in your Tagion contact list.*

**Step 3**
To register your phone number on the Tagion server, go to the 'Settings' menu and select the 'Show me in contact list' option. Enter your phone number and the confirmation code.

![](https://hackmd.io/_uploads/SyLuRUNEc.png)
*All names and data in this User Manual are not real and are only for demonstration purposes.*


 Here you also can:
*  Report a bug
*  Contact the support
*  Change the pin-code
 
 
**Step 4**
 When the contact list is displayed, all the contacts registered on our Tagion server will be highlighted in the list. 
 (In the future, there will be an option to invite unregistered users to join Tagion).
 
 ![](https://hackmd.io/_uploads/HJz30UEE9.png)
 *All names and data in this User Manual are not real and are only for demonstration purposes.*

 
 **Step 5**
 To send tagions to other users:
1.  Select the active (registered) user in your contact list.
1.  Enter the amount of tagions in 'TGN' field.
1.  Click the 'Send' button.
  
 ![](https://hackmd.io/_uploads/HJbdJv4V5.png)
 *All names and data in this User Manual are not real and are only for demonstration purposes.*

Or use the **'One-time address'** option that allows sending tagions between users by one-time created invoice.
 Just copy your one-time address and send it to another user via email or other messengers. After entering this address into the appropriate field, the user can send tagions to you.
 
 ![](https://hackmd.io/_uploads/rkE6kv44q.png)
 *All names and data in this User Manual are not real and are only for demonstration purposes.*
 
 *Note: you can also read the one-time address with the 'Scan' menu option. In this case, you'll be automatically redirected to the 'Send' page.*
 



