maint: Ensure multi-platform support
This merge request transforms a simple Linux-only IoT sensor data collector into a comprehensive cross-platform application that can run on Windows, macOS, and Linux. The main changes include:
Multi-Platform Support: Added build configurations for Windows (using both Visual Studio and MinGW compilers) and macOS, with platform-specific optimizations and native API usage for better performance on each operating system.
Improved Project Structure: Reorganized the codebase with proper directories - moving headers to an include/ folder, source code to src/, and tests to tests/ - making the project more professional and maintainable.
Enhanced Build System: Expanded the CI/CD pipeline to automatically build, test, and package the application for all three platforms, with retry logic for reliability and proper artifact management.
Better Code Quality: Added more compiler warnings, enabled parallel compilation, and included platform-specific compiler optimizations. The code now uses modern C++17 standards consistently across all platforms.
Comprehensive Packaging: The system now creates platform-appropriate packages - ZIP files and installers for Windows, DMG files for macOS, and traditional packages for Linux - making distribution much easier.
Robust Testing: Enhanced the testing framework to work across all platforms with proper error handling and platform-specific test configurations.
These changes make the application production-ready for deployment across different operating systems while maintaining code quality and reliability.