Overview
The purpose of this case study is to grasp the project flow of the Django Project to migrate the application to .NET despite the absence of comprehensive documentation. The objective is to assist the client in identifying calculations and finding logic for diagrams within the application, which they did not originally develop.
Context and Challenge
Problem Statement:
The client's objective is to comprehend the workflow of a project built on Django and decipher the logic behind data calculations transmitted from devices using MQTT. Additionally, they seek to uncover the rationale behind the Diagrams in application, given the absence of adequate documentation regarding data flow.
Project Goals and Objectives:
- Fully reverse-engineer the project to grasp the coding standards and employed functions thoroughly.
- Explore the application's data flow by simulating data from the backend to the frontend.
- Analyze the logical calculations for raw data, metal loss, and corrosion rate breakdown.
- Gain insight into the flow of the Diagram.
Challenges:
- There is a lack of documentation available for the application.
- The client seeks to understand the underlying logic as they plan to migrate the application to another technology in a short span.
- The client's understanding of the data flow from the device or simulator was unclear.
Solution
- Initially, we conducted reverse engineering on the simulator component, successfully uncovering the calculation logic for raw data received from the device.
- Subsequently, we employed multiple debugging techniques, including a top-down approach, by integrating logs from the simulator to unveil the logic behind other calculations.
- Recognizing the time-consuming nature of these approaches, we adopted the backtracking principle. This led us to trace the data flow from frontend to backend to the simulator, employing a bottom-up approach. Through this, we pinpointed how corrosion rate and metal loss data were stored in the backend.
- After reintroducing logs, we successfully discerned the logic behind all calculations and the diagram.
- We meticulously documented the application's data flow, including calculations, and crafted a comprehensive flow diagram depicting the journey from the simulator to the backend and frontend.
Technology Used
India
No 22, Sivaram Nagar,
2nd Cross Street East, Sungam, Ramanathapuram,
Coimbatore – 641045.
Development Centre
R266+QPJ, Bhagavathipalayam, Kinathukadavu, Coimbatore, Tamil Nadu 642109.
t: +91 96296 55502
e: office@digital-garage.in
Kingdom of Saudi Arabia
1st Floor, Rajia Building
Abi Jaafar Al Mansour Street, Riyadh.
e: office@digital-garage.in
United Arab Emirates
7th Floor, Aspin Commercial Tower
Sheikh Zayed Road, Dubai.
e: office@digital-garage.in
United States
99 Rand Drive
Searcy, Arkansas 72143.
e: office@digital-garage.in