From 7d19bb67d577a50d6771f8983a951ba8026dc570 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 22 Aug 2022 13:45:09 +0100
Subject: [PATCH] Add XXMessengerClient quick start documentation

---
 Docs/XXMessengerClient.md | 60 +++++++++++++++++++++++++++++++++++++++
 README.md                 |  2 ++
 2 files changed, 62 insertions(+)
 create mode 100644 Docs/XXMessengerClient.md

diff --git a/Docs/XXMessengerClient.md b/Docs/XXMessengerClient.md
new file mode 100644
index 00000000..d4a634a9
--- /dev/null
+++ b/Docs/XXMessengerClient.md
@@ -0,0 +1,60 @@
+# XXMessengerClient
+
+`XXMessengerClient` is a client wrapper library for use in xx-messenger application.
+
+## 🛠 Instantiate messenger
+
+Example:
+
+```swift
+// setup environment:
+var environment: MessengerEnvironment = .live()
+
+// change cMix NDF environment if needed:
+environment.ndfEnvironment = ...
+
+// use alternative user-discovery if needed:
+environment.udAddress = ...
+environment.udCert = ...
+environment.udContact = ...
+
+// instantiate messenger:
+let messenger: Messenger = .live(environment)
+```
+
+## 🚀 Start messenger
+
+Example:
+
+```
+func start(messenger: Messenger) throws {
+  // check if messenger is loaded:
+  if messenger.isLoaded() == false {
+    // check if messenger is created and stored on disk:
+    if messenger.isCreated() == false {
+      // create new messenger and store it on disk:
+      try messenger.create()
+    }
+    // load messenger stored on disk:
+    try messenger.load()
+  }
+
+  // check if messenger is connected:
+  if messenger.isConnected() == false {
+    // start end-to-end connection:
+    try messenger.connect()
+  }
+
+  // check if messenger is logged in with user-discovery:
+  if messenger.isLoggedIn() == false {
+    // check if messenger is registered with user-discovery:
+    if try messenger.isRegistered() == false {
+      // register new user with user-discovery:
+      try messenger.register(username: "new-username")
+    } else {
+      // login previously registered user with user-discovery:
+      try messenger.logIn()
+    }
+  }
+}
+```
\ No newline at end of file
diff --git a/README.md b/README.md
index 5a2eadd5..539d24b3 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,8 @@ Also you can checkout included example iOS application.
 
 You can find full documentation with step by step guide [here](https://xxdk-dev.xx.network/mobile%20docs/ios-sdk)
 
+- [XXMessengerClient](Docs/XXMessengerClient.md)
+
 ## 🚀 Quick Start
 
 Add `XXClient` library as a dependency to your project using Swift Package Manager.
-- 
GitLab