Build Camper Van Control System Architecture#1
Merged
StuartF303 merged 5 commits intomainfrom Nov 5, 2025
Merged
Conversation
This commit establishes the complete foundation for the VanDaemon camper van control system with the following components: Backend: - .NET 8 solution structure with clean architecture - Core domain models (Tank, Control, Alert, SystemConfiguration) - Application services for tank monitoring and management - RESTful API with Swagger documentation - Modular plugin system for hardware integration - Simulated plugin for testing without hardware - Support for Modbus, I2C, and Victron Cerbo plugins (stubs) Frontend: - Blazor WebAssembly application - MudBlazor UI components - Responsive dashboard with tank monitoring - Settings page structure - Real-time data display Infrastructure: - Docker containerization for API and Web - Docker Compose orchestration - Nginx reverse proxy configuration - Build scripts for Linux/Mac and Windows - GitHub Actions CI/CD pipeline Testing: - Unit test projects with xUnit - Moq and FluentAssertions for test helpers - Tests for TankService and SimulatedSensorPlugin - Code coverage support Documentation: - Comprehensive PROJECT_PLAN.md - Updated README with quick start guide - Raspberry Pi deployment guide - Plugin development guide - API reference documentation - Environment configuration template The system is ready for: 1. Testing with simulated hardware 2. Deployment to Raspberry Pi via Docker 3. Hardware integration via plugin system 4. Further frontend development 5. Real-time SignalR implementation This provides a solid foundation for monitoring and controlling water tanks, LPG, lighting, heating, and other van systems.
- Added VanDaemon.Plugins.Simulated project reference to test project - Resolves CS0234 and CS0246 compilation errors in SimulatedSensorPluginTests - Tests now have access to the Simulated plugin namespace
- Changed mock plugin name from 'Test Plugin' to 'Simulated Sensor Plugin' - This matches the plugin name used in TankService's default tanks - Fixes RefreshAllTankLevelsAsync_ShouldUpdateAllTankLevels test failure - Plugin lookup in TankService uses Name property, so they must match
- Changed 'docker-compose' to 'docker compose' in GitHub Actions workflow - Updated README.md to use Docker Compose V2 syntax - Removed separate docker-compose installation (included with Docker) - Updated systemd service files to use new syntax - Updated build scripts (build.sh and build.bat) - Fixes 'docker-compose: command not found' error in CI/CD Docker Compose V2 is now integrated into Docker as a plugin and uses 'docker compose' instead of the standalone 'docker-compose' command.
- Replaced all 'docker-compose' with 'docker compose' in Raspberry Pi guide - Updated installation section to note Docker Compose V2 is included - Removed separate docker-compose installation step - Changed --version to version (correct Docker Compose V2 syntax)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit establishes the complete foundation for the VanDaemon camper van control system with the following components:
Backend:
Frontend:
Infrastructure:
Testing:
Documentation:
The system is ready for:
This provides a solid foundation for monitoring and controlling water tanks, LPG, lighting, heating, and other van systems.