PredictPulse is a full-stack IoT monitoring solution designed to simulate, track, and predict system failures in real-time. It demonstrates a complete data pipeline from low-level device simulation to high-level web visualization.
The project is composed of three distinct modules communicating synchronously:
-
Device Simulator (C++):
- Simulates IoT sensor hardware.
- Generates real-time telemetry data (temperature).
- Optimised for low-latency data transmission.
-
API Hub (.NET 8 Core):
- Acts as the central message broker.
- Processes incoming telemetry streams.
- Runs predictive logic to flag potential hardware failures before they happen.
-
Dashboard (React + TypeScript):
- Visualizes system health via dynamic charts.
- Receives live updates via WebSockets/SignalR.
- Provides a responsive UI for monitoring multiple device nodes.
- Backend: C# .NET 8, ASP.NET Core
- Frontend: React.js, Tailwind CSS
- Simulation: C++ (Standard 17)
- Protocols: HTTP/REST, WebSockets
- .NET 8 SDK
- Node.js (v18+)
- C++ Compiler (GCC or MSVC)
- Clone the repo:
git clone [https://github.com/ImanDanial2106/PredictPulse.git](https://github.com/ImanDanial2106/PredictPulse.git)
- Run the Hub (.NET):
cd DotNetApiHub dotnet run - Start the Dashboard (React):
cd reactdashboard npm install npm run dev - Launch the Simulator (C++):
(Navigate to
CppSimulatorand run the executable created by your build system).