A Fullscale Backend and Frontend System for Data Collection from API, Modbus to MongoDB with Angular Web Interface

A Fullscale Backend and Frontend System for Data Collection from API, Modbus to MongoDB with Angular Web Interface

Setronica developed a web application that collects data from APIs and Modbus sources, storing it in MongoDB. This solution enables remote control, enhances security, and facilitates efficient monitoring of a modular hosting system.

The Client

A Fullscale Backend and Frontend System

Setronica was approached by a client to develop a fullscale backend and frontend system that would facilitate remote control, enhance security, and enable efficient monitoring of their modular hosting solution.

The objective was to collect data from various sources, including APIs, Modbus, etc., and store it in MongoDB.

The collected data would be displayed in a user-friendly Angular web interface.

Our Challenges

Energy sector

The energy sector faces challenges in transmitting electrical power over long distances due to significant losses in transmission lines. This problem particularly affects mining companies involved in cryptocurrency mining.

 Norwegian company

Our client, a Norwegian company, found a solution by taking advantage of a location with a large hydroelectric power plant in a cold region. They repurposed maritime shipping containers and filled them with modules that required less cooling and benefited from cheaper electricity.

Remotely monitor

The challenge was to remotely monitor and control these containers while offering them as modular hosting solutions for various businesses.

The Team

The team
  • Software Architect
  • Java Developer
  • Two DevOps Engineers

Development

Docker Containers and Golang Services

Setronica implemented Docker containers, including asicagent, modbusagent, and decodeservice, running Golang services. The containers were built from Docker images using GitHub Actions and stored in the GitHub Package repository.

Docker Containers and Golang Services

Zabbix Configuration

Zabbix was configured to automatically discover new devices and their incoming values. Setronica set up alert actions to send email and Telegram notifications for specific events. Notification triggers were implemented to ensure timely responses.

Zabbix Configuration

Network Planning

Development team created a comprehensive network plan to establish smooth communication between devices and the web application.

Network Planning

Security and Remote Control

Throughout the development process, Setronica’s focus was on enabling remote control and enhancing security for maintaining and monitoring remote servers.

Security and Remote Control

DevOps and System Administration

In addition to development, Setronica handled various DevOps and system administration tasks. This included mapping the local network, selecting suitable equipment, and ensuring efficient operations.

DevOps and System Administration

Optimization and Debugging

Setronica optimized processors by converting regular expressions to JSON, resulting in improved performance. Additionally, the scanner.sh script was debugged to ensure the successful capture of all miners in Zabbix.

Optimization and Debugging

Database Management

Setronica investigated the issue of database growth and implemented measures to limit growth and reduce the volume of old data, ensuring efficient data management.

Database Management

Results

By completing these tasks, Setronica successfully developed a fullscale backend and frontend system that collects data from APIs, Modbus and other sources and stores it in MongoDB.

The data is then displayed in an Angular web interface, providing real-time insight into the status and performance of the modular hosting solution for cryptocurrency mining.

This solution allows the client to remotely monitor and control their hosting infrastructure, ensuring efficient cryptocurrency mining operations while maintaining the security of their servers.

Future requirements may include further enhancement of the web application functionality, expansion of the monitoring capabilities and implementation of predictive analytics for equipment failure detection.

    Download the full case study


    Through a comprehensive development process that encompassed various tasks such as development, DevOps, system administration, and network planning, Setronica successfully delivered a fullscale backend and frontend system that met the client’s requirements.

    The system provided remote control, security, and efficient monitoring for the client’s modular hosting solution. Setronica’s expertise in Golang and the utilization of Zabbix as the frontend ensured a reliable and user-friendly experience. This project highlights Setronica’s ability to address complex challenges and deliver tailored solutions to meet specific industry needs.

    At Setronica, we understand the importance of secure data and efficient operations for businesses to focus on their core functions. With our team of experts, you can trust that your data is safe and your operations are running smoothly. Our customized IT solutions are designed to address the unique needs of your business, and we are always eager to take on new projects and opportunities. Let us partner with you to enhance your business’s efficiency, security, and success.

    Related case studies

    Let’s start building something great together!

    Contact us today to discuss your project and see how we can help bring your vision to life. To learn about our team and expertise, visit our ‘About Us‘ webpage.

    tradeshift integrator team




      This site is protected by reCAPTCHA and the Google
      Privacy Policy and Terms of Service apply.

      SETRONICA


      Setronica is a software engineering company that provides a wide range of services, from software products to core business applications. We offer consulting, development, testing, infrastructure support, and cloud management services to enterprises. We apply the knowledge, skills, and Agile methodology of project management to integrate software development and business objectives effectively and efficiently.