# nKode Enrollment
```mermaid
sequenceDiagram
participant User
participant Client
participant Server
Note over User,Client: 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,Client: Set nKode
Server-->>-Client: signup_session_id, set_keypad, icons
Note left of Server: signup_session_id:
92a2a1c6-3146-4d47-ac00-5160a7ebf104
Note left of Server: set_keypad:
Key 0: [ 7 14 3 28 23]
Key 1: [ 1 26 15 10 5]
Key 2: [13 20 27 4 29]
Key 3: [25 8 21 16 11]
Key 4: [19 2 9 22 17]
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: [0, 2, 0, 0]
Client->>+Server: Set nKode:
92a2a1c6-3146-4d47-ac00-5160a7ebf104
[0, 2, 0, 0]
Server->>Server: Disperse Set Keypad
Note over User,Client: Confirm nKode
Server-->>-Client: signup_session_id, confirm_keypad, icons
Note left of Server: signup_session_id:
92a2a1c6-3146-4d47-ac00-5160a7ebf104
Note left of Server: confirm_keypad:
Key 0: [ 7 26 21 4 17]
Key 1: [19 20 3 16 5]
Key 2: [ 1 8 9 28 29]
Key 3: [13 14 15 22 11]
Key 4: [25 2 27 10 23]
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: [1, 0, 3, 0]
Client->>+Server: Confirm nKode:
92a2a1c6-3146-4d47-ac00-5160a7ebf104
[1, 0, 3, 0]
Server->>Server: Create User
Server-->-Client: Success
```