tryMongooseIM: MongooseIM is now easier than ever!
- Łukasz Pauszek
- 12th Oct 2023
- 7 min of reading time
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?
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.
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.
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.
There are several noteworthy features that the MongooseIM team implemented to allow for such seamless integration:
We offer several ways of accessing the service which you can commonly find on other websites:
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:
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:
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:
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:
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.
Explore the NonStop architecture's influence on Elixir, Gleam, and Erlang developers. Learn about modularity, fault containment, and process-pairs design for resilient software systems.
Erlang’s concurrency model, built for scalability, now competes with C and Rust in performance, powering messaging systems and large-scale platforms.
Embark on a journey into Elixir with our series "Elixir, 7 Steps to Start Your Journey" by Lorena Mireles.