Cross-platform applications are often a must in the age of smartphones, tablets, and PCs, where users expect applications to work on any device. This thesis explores building a cross-platform client-server application using web technologies: specifically the Angular and Node.js frameworks. The problem domain for this task is a smart-parking management application for NetVisor, a Hungarian ICT consulting company. The thesis work further develops an existing pilot project that established a sensor network for car park observations. An Angular cross-platform web client application and a Node.js REST API backend are designed and implemented.
The Angular client application is a responsive web application that scales its user interface appropriately for both smartphones and larger screen devices. The client application uses SVG to display an icongraphic representation of a car park that shows the current occupancy status of each parking space. Users can select an arbitrary number of the parking spaces of the car park diagram and can use additional features on their selection. A detail view, sensor measurement charts, and sensor configuration features are implemented. The Node.js server is a REST API that communicates with an existing Cassandra database that stores sensor network data. Modifications to the existing database are made in order to facilitate features of the client application. The completed applications are deployed and tested on the NetVisor internal network.
A detailed task specification and a section discussing related work are provided. A high level architecture of the completed design is introduced as well as documentation on detailed implementation of the design. Finally, a comprehensive user guide to the completed client application is also provided.