# Nuri iOS Application - Actual Frontend Architecture
## Application Structure
### 1. Entry Points
- **Welcome Screen**: First-time users land here with a simple "Login with Passkey" button
- **Main Application**: Authenticated users go directly to the tab-based interface
### 2. Main Navigation (Tab Bar)
The application uses a three-tab navigation structure:
#### Bitcoin Tab
This is the primary functional area with:
- **Wallet Overview**: Displays Bitcoin balance in both BTC and EUR
- **Send/Receive**: Buttons to initiate Bitcoin transactions
- **Transaction History**: Link to view complete transaction list
- **Buy Bitcoin**: CTA to purchase Bitcoin
- **Exchange Rate**: Real-time EUR/BTC pricing from mempool.space
- **Face ID Authentication**: Required before accessing wallet functions
#### Card Tab
Currently focused on a virtual card offering:
- **Card Illustration**: Visual representation of the card
- **Feature List**:
- Free virtual Visa card
- Bitcoin top-up capability
- Apple Wallet integration
- **Get Card**: Button that initiates phone number verification flow
#### Security Tab (Keys)
Focused on wallet security and backup management:
- **Password Management**: Set and edit encryption passwords
- **Encryption Testing**: Verify encryption/decryption functionality
- **iCloud Backup**: Create, restore, and test iCloud backups
- **Seed Management**: Import/export wallet seed phrases
- **Diagnostics**: Storage diagnostics and cleanup tools
- **Force Operations**: Manual refresh and aggressive cleanup options
### 3. Authentication & Security
The current implementation shows:
- **Mock Authentication**: "Login with Passkey" button that actually skips all authentication
- **Face ID Integration**: Used for Bitcoin wallet access (but not for initial app login)
- **Password-based Encryption**: For securing wallet data
- **iCloud Backup**: Encrypted seed backup using iCloud Keychain
### 4. Onboarding Flows
The implemented flows include:
- **Phone Number Verification**: For card acquisition process
- **Country Selection**: For international dial codes
- **Verification Call**: Alternative verification method
### 5. Current Status Clarifications
You're absolutely correct about several important points:
1. There's no actual physical passkey card - it's a virtual card offering
2. The "passkey authentication" is currently just a mock that skips all real authentication
3. Face ID is used for Bitcoin wallet access, not for initial app login
4. The card functionality is focused on a virtual Visa card that can be added to Apple Wallet
The frontend is essentially a Bitcoin wallet application with virtual card features, where the "security" tab provides advanced wallet backup and recovery options, and the authentication is much simpler than a full passkey implementation would be.