Flying Dutchman provides device administration, graphical representation of indevidual parameters with respect to the devices. Informative data from Flying Dutchman can be utilized for monitoring and corrective actions as well as statistical analysis & research purpose.
Java
Spring Boot
HTML
CSS
Javascript
Jquery
Flying Dutchman is a web application that allows user to capture and visualize the water body parameters such as PH level, temperature, salinity etc. processed by the remote devices. This application also provides us with localization language settings that offers an inclusive digital experience to the underprivileged communities. The graphical representation of each parameters along with the tabular representation puts forward minute level information that can be utilized for statistical & research studies. Apart from the data visualization, it also offers administrative functionalities such as configuring new device, updating location information, report frequency, user creation etc. Thus, Flying Dutchman provides a centralized monitoring, corrective actions for all the remote devices that are connected to various waterbodies at different locations and also plays a pivotal role in providing statistical data for research purpose.
JavaSE 11
Spring Boot
Local Maven Installation
- RAM : 512MB
- HDD : 500MB
- Internet Connectivity
Clone the project and run these two commends from command line(windows), terminal(mac/linux) in order to build the webapp locally
java -version
mvn -v
mvn install
java -jar ./target/javaspringapp-1.0-SNAPSHOT.jar
<dependencies>
<!-- Core -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- temp override to resolve CVE-2017-18640 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.26</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
<!--Monitoring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Distributed tracing with OpenTracing -->
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-web-starter</artifactId>
<version>${opentracing-spring-jaeger-web-starter.version}</version>
</dependency>
<!-- For this template -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.ibm.cloud</groupId>
<artifactId>ibm-cloud-spring-boot-service-bind</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
Home: http://localhost:8080/dutchman/dashboard
Admin: http://localhost:8080/admin/addNew