7

tryMongooseIM: MongooseIM is now easier than ever!

 11 months ago
source link: https://www.erlang-solutions.com/blog/trymongooseim-mongooseim-is-now-easier-than-ever/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Have you ever found yourself in a situation where you wanted to check the capabilities of MongooseIM, but you were overwhelmed by the sheer amount of configuration of the service itself, or how to deploy it easily?

The world before tryMongooseIM

Imagine you are working on a project and one of the tasks is to evaluate XMPP servers.

You do some research and decide that MongooseIM is the tool that might suit your needs, so you start to read some documentation, check out some GitHub repositories like MongooseIM, MongooseHelm or MongooseIM ArtifactHUB and encounter the first obstacle. There are so many available options to configure that you get overwhelmed by the sheer amount of them. Then you try to determine what setup you might need to have or how to deploy them.

Development of some of the latest versions of MongooseIM has proved helpful in simplifying the process- like introducing TOML config files or creating Helm charts for easier deployment. This made deploying on a local machine quite straightforward. Nevertheless, preparing the environment could take some time-like setting up a local Kubernetes cluster or installing Helm.

tryMongooseIM the idea

As the MongooseIM team, we want to make it easier for different people to check out what MongooseIM XMPP server has to offer and make the whole process as easy for new users as possible. Another goal is to be able to provide an example of both running hardware architecture and requirements that will allow MongooseIM to run smoothly.

Together with the application, we aim to improve existing resources, like Helm charts -by introducing configurable templates.

tryMongooseIM is born

Now, let’s go through another real-life scenario. Before you are tasked with researching XMPP servers, you find MongooseIM and decide to check it out. Then you see tryMongooseIM website. After simple registration and onboarding, you are in possession of an XMPP dynamic domain with users that you can connect with to your application. The 

The whole process takes no more than minutes from start to finish, leaving you with time to explore how MongooseIM fits with your vision.

tryMongooseIM features

There are several noteworthy features that the MongooseIM team implemented to allow for such seamless integration:

Sign up and Sign in

We offer several ways of accessing the service which you can commonly find on other websites: 

  • Use Google account to log in
  • Use GitHub account to log in
  • Register with email and password
l7wGOFLpQEnnREKlNC-NDL5Mxq5IUuYedwcdnO-dVO5qsU0q5zuzxZk0wDcfhLjjkS6Nbv0aeweoar4Ppd9pJUGOyG16Z_i3UE7dQy2G70xPwV91uhjKlZ3rHLf1dGQ6hpGR2QYeEBbWypv3gpfHyng

Manage dynamic XMPP domain

Currently, each user can only have one dynamic XMPP domain at a time but can choose from several different configurations provided by MongooseIM that allow to check out multiple capabilities of the service:

MQQNzaMT7TZ9Lmyy9kLpmm_TRTfk5-oun2AOe3GIdiASNjTXxWBK3EhdJYkasvssw-lRsIpRKLjxt0AbHz8lLqyD6QQ30YDKl7O84OSTeZMUTeEsbOOMFyIXSry1pBa6AGWP0bH6Bwv-y18p6bDxgrQ

Manage users of  dynamic XMPP domain

After the domain is created, you are able to start managing XMPP users who can later be used by the XMPP clients or your application to connect to MongooseIM:

GdDVBFiPyIQK0z1wkTOtFktwCWWfToLV5Dw3eOHRLNRJm6DvYBxpzUG3_4EF3AECoZc_0W-l0qecjjtA_pLnKPWlNi2WYnwx3oKzCMlm9l6MF8CANQsPKT8A3oGFVR9DYH-CUlHsv-cJPv4QAi3G53g

Client instructions and web client

If you are more interested in discovering features of MongoosIM itself, we also provide instructions on how to set up and connect recommended applications for different platforms such as iOS, Android, Linux and Windows. As part of tryMongooseIM, we have integrated ConverseJS – a web-based XMPP client:

MotSW9N2c35CrGmpt9rwR6H_ejIyjgGUwlFRufh43CP1sLQP__5AgqSbOTBY5KYLD2Qm8ltLhHHiXK4yaXNFeGwMEPsTTNXqqjstPsBSZ434vWK-yh15o7ILG12g7-QqhD3TH1vBejPlPwGZz1j9kt0
FfOpyDE22MVTwFGYk8wQeoizgsgQFYHQBkgCqyUMf238QZOtpdx-VdWN5Tfvu8QctNIy2eVa4bc05gU35LrVPI-UwJK3qOJ8PxbkZHn4MAEn669NO5taQI9qJMGepbj5t70_h1Hqudf31ZNYImdJ6lk

GraphQL and GraphiQL

To communicate with MongooseIM, our application uses the provided GraphQL API which serves one more purpose: to show that it is easy to integrate with the MongooseIM instance to manage different parts of your dynamic domain. Also, to give you more insight into GraphQL API we are enabling GraphiQL instance so that you can make queries or mutations and check out available schemas via web interface:

nETPQK9TLNM1twQd34NooWXAiwTGBLmnqZSE2dxzPeTcvwvwQMM9lUp36ypjpAwg02lTKUZl-IDXNDa6MzD6Y1UhdbmHDhUKtfS4BIdOfJNNOHhIJcM-aC4tS8cB9EXKqjXwG4MGYuMFEFaW2Vit1X8

Summary

tryMongooseIM service was born from our wishes to make MongooseIM more accessible for people wishing to get to know it. In my opinion, we have managed to do it in our first iteration of development. Thanks to that, the time needed to get general knowledge or time to interact with your XMPP domain is significantly shorter than before. 

We plan to continue the development of tryMongooseIM so that more and more features of MongooseIM can be used via web browsers. Should you have a special use case, high-performance requirements or want to reduce costs, don’t hesitate to contact us. We will be able to help you deploy, load test and maintain your messaging solution.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK