# nKode Enrollment
```mermaid
sequenceDiagram
participant User
participant Client
participant Server
Note over User,Server: Enrollment
Client->>User: Signup Form
Note left of User: email: user@example.com
User->>Client: Submit Email
Client->>+Server: Signup Session: user@example.com
Server->>Server: Create Signup Session
Note over User,Server: Set nKode
Server-->>-Client: signup_session_id, set_keypad, icons
Note left of Server: signup_session_id:
d7e50a75-d3ff-482a-b0e7-ce99c3838c1a
Note left of Server: set_keypad:
Key 0: [12 13 20 21 16]
Key 1: [ 6 1 14 9 4]
Key 2: [ 0 7 26 15 28]
Key 3: [24 19 2 27 10]
Key 4: [18 25 8 3 22]
Note left of Server: Icons:
[😀,😂,🥳,😍,🤓
😎,🥺,😡,😱,🤯
🥰,😴,🤔,🙃,😇
🤖,👽,👾,🐱,🐶
🦁,🐻,🐸,🐙,🦄
🌟,⚡,🔥,🍕,🎉]
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: Key 0: ['🤔' '🙃' '🦁' '🐻' '👽']
Key 1: ['🥺' '😂' '😇' '🤯' '🤓']
Key 2: ['😀' '😡' '⚡' '🤖' '🍕']
Key 3: ['🦄' '🐶' '🥳' '🔥' '🥰']
Key 4: ['🐱' '🌟' '😱' '😍' '🐸']
Note left of User: User icons: ['🤓' '🐶' '🦄' '👽']
User->>Client: Set Key Selection: [1, 3, 3, 0]
Client->>+Server: Set nKode:
d7e50a75-d3ff-482a-b0e7-ce99c3838c1a
[1, 3, 3, 0]
Server->>Server: Disperse Set Keypad
Note over User,Server: Confirm nKode
Server-->>-Client: signup_session_id, confirm_keypad, icons
Note left of Server: signup_session_id:
d7e50a75-d3ff-482a-b0e7-ce99c3838c1a
Note left of Server: confirm_keypad:
Key 0: [ 6 13 8 15 10]
Key 1: [24 7 14 3 16]
Key 2: [12 25 2 9 28]
Key 3: [ 0 1 20 27 22]
Key 4: [18 19 26 21 4]
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: Key 0: ['🥺' '🙃' '😱' '🤖' '🥰']
Key 1: ['🦄' '😡' '😇' '😍' '👽']
Key 2: ['🤔' '🌟' '🥳' '🤯' '🍕']
Key 3: ['😀' '😂' '🦁' '🔥' '🐸']
Key 4: ['🐱' '🐶' '⚡' '🐻' '🤓']
Note left of User: User icons: ['🤓' '🐶' '🦄' '👽']
User->>Client: Key Selection: [4, 4, 1, 1]
Client->>+Server: Confirm nKode:
d7e50a75-d3ff-482a-b0e7-ce99c3838c1a
[4, 4, 1, 1]
Server->>Server: Create User
Server-->>-Client: Success
```