Information technology is constantly evolving and this creates the opportunity to manage an increasing number of physical devices over the Internet. Having a large device inventory becomes more and more common and this means that we need to monitor these devices in real time. Several platforms already exist for this purpose and some of those are free to use. The goal of my thesis project is to create an alternative that is based on my own perceptions and ideas regarding the subject. I place high importance on the concepts of expandability and modularity. The project is based on the popular MEAN stack which is comprised of MongoDB, ExpressJS, AngularJS and NodeJS.
In the first part of my thesis I introduce the ideas behind the Internet of Things and also the communication protocols that are involved. I take a look at some the alternative platforms that are already on the market and I use them as a guideline for sketching the general architecture of my own solution.
The plans for the exposed user interfaces and system architecture are introduced in the second part of the thesis. The data model and also the placement and usage of each used module is described in detail. I also describe the planned web applications and devices that are to be used to test the service functionalities.
The implementation chapter contains code snippets and examples that demonstrate the realization of the subsystems in the service. The test applications and the means to communicate with the platform are also described in great detail.
The system is load tested with intensive usage. The components are then made to be scalable to increase throughput. The scaled system is load tested once again to see how the performance is affected by comparing the results.
Finally, I conclude by summarizing the work done and mentioning some of the possible future improvements.