feat: implement Spore framework class as main orchestration layer #3

Merged
master merged 3 commits from feature/spore into main 2025-09-14 12:24:25 +02:00
Owner
  • Add Spore class as unified interface for all core framework functionality
  • Implement setup() and begin() methods for flexible initialization pattern
  • Add service registration with addService() for both raw and smart pointers
  • Provide accessor methods for core components (getTaskManager, getContext, etc.)
  • Automatically include core services (Node, Network, Cluster, Task)
  • Update all examples to use simplified Spore framework approach
  • Fix circular dependency issues in include structure
  • Remove setHostname and setApiPort configuration methods
  • Add comprehensive documentation and usage examples

The Spore class encapsulates all core functionality from the base example
and provides a clean, unified API for the entire framework. Examples now
use just spore.setup() -> add services -> spore.begin() -> spore.loop().

- Add Spore class as unified interface for all core framework functionality - Implement setup() and begin() methods for flexible initialization pattern - Add service registration with addService() for both raw and smart pointers - Provide accessor methods for core components (getTaskManager, getContext, etc.) - Automatically include core services (Node, Network, Cluster, Task) - Update all examples to use simplified Spore framework approach - Fix circular dependency issues in include structure - Remove setHostname and setApiPort configuration methods - Add comprehensive documentation and usage examples The Spore class encapsulates all core functionality from the base example and provides a clean, unified API for the entire framework. Examples now use just spore.setup() -> add services -> spore.begin() -> spore.loop().
master added 1 commit 2025-09-13 21:18:42 +02:00
- Add Spore class as unified interface for all core framework functionality
- Implement setup() and begin() methods for flexible initialization pattern
- Add service registration with addService() for both raw and smart pointers
- Provide accessor methods for core components (getTaskManager, getContext, etc.)
- Automatically include core services (Node, Network, Cluster, Task)
- Update all examples to use simplified Spore framework approach
- Fix circular dependency issues in include structure
- Remove setHostname and setApiPort configuration methods
- Add comprehensive documentation and usage examples

The Spore class encapsulates all core functionality from the base example
and provides a clean, unified API for the entire framework. Examples now
use just spore.setup() -> add services -> spore.begin() -> spore.loop().
master added 1 commit 2025-09-13 21:32:03 +02:00
- Restructure include/ and src/ directories with logical grouping
- Move core components to spore/core/ (NodeContext, NetworkManager, TaskManager, ClusterManager, ApiServer)
- Move services to spore/services/ (NodeService, NetworkService, ClusterService, TaskService)
- Move types to spore/types/ (NodeInfo, ApiTypes, Config)
- Move internal components to spore/internal/ (Globals)
- Update all #include statements to use new namespace paths
- Update platformio.ini build filters for all environments
- Update all example files to use new include paths
- Maintain backward compatibility for public API
- Improve code organization, maintainability, and scalability

This reorganization follows modern C++ project structure patterns and provides
clear separation between public API, internal implementation, and utilities.
All examples compile successfully with the new structure.
master added 1 commit 2025-09-13 21:43:08 +02:00
- Update build_src_filter for esp01_1m_neopixel, d1_mini_neopixel environments
- Update build_src_filter for esp01_1m_neopattern, d1_mini_neopattern environments
- All environments now compile successfully with new folder structure
master merged commit 089f938796 into main 2025-09-14 12:24:25 +02:00
master deleted branch feature/spore 2025-09-14 12:24:52 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: iot/spore#3
No description provided.