Skip to content

metaneutrons/SnapDogSitter

Repository files navigation

SnapDogSitter πŸ•πŸ“±

Build License: LGPL v3

Warning

🚧 Heavy Work in Progress 🚧

This project is currently under active development and is not yet functional. Features may be broken, incomplete, or subject to major changes. Please check back in a few weeks for a more stable version.

Overview

SnapDogSitter is a cross-platform mobile and desktop companion app for SnapDog2, providing remote control capabilities for your multi-room audio system. Built with .NET MAUI, it offers a native experience across all major platforms while leveraging the same SignalR and REST API patterns used in the SnapDog2 ecosystem.

🎯 What is SnapDogSitter?

SnapDogSitter serves as a remote control for your SnapDog2 multi-room audio system, allowing you to:

  • 🎡 Control audio playback across multiple rooms
  • πŸ”Š Adjust volume and manage audio zones
  • πŸ“± Monitor client status in real-time
  • 🏠 Manage your smart home audio from anywhere
  • πŸ”„ Receive live updates via SignalR integration

πŸš€ Technology Stack

Core Technologies

  • .NET 9 - Latest stable .NET framework
  • .NET MAUI - Cross-platform UI framework for native apps
  • SignalR Client - Real-time communication with SnapDog2
  • C# 12 - Modern language features and performance

Development Tools

  • GitVersion - Semantic versioning automation
  • Husky.NET - Git hooks for code quality
  • StyleCop - Code style analysis
  • xUnit - Unit testing framework

πŸ“± Platform Support

Platform Status Architecture Notes
iOS βœ… Planned ARM64 iPhone & iPad support
iPadOS βœ… Planned ARM64 Optimized tablet experience
macOS βœ… Planned ARM64 & x64 Mac Catalyst
Windows βœ… Planned ARM64 & x64 Windows 10/11
Android βœ… Planned ARM64 & x64 Phone & Tablet

πŸ› οΈ Development Setup

Prerequisites

  • .NET 9 SDK (9.0.301 or later)
  • Visual Studio Code with C# extension
  • Xcode (for iOS development on macOS)
  • Android SDK (for Android development)

Quick Start

# Clone the repository
git clone https://github.com/metaneutrons/SnapDogSitter.git
cd SnapDogSitter

# Restore dependencies
dotnet restore

# Build the solution
dotnet build

# Run tests
dotnet test

# Install MAUI workload (if not already installed)
dotnet workload install maui

iOS Simulator Debugging

The project is configured for full iOS Simulator integration in VS Code:

  1. Open the project in VS Code
  2. Install the C# extension
  3. Use Cmd+Shift+P β†’ "Debug: Select and Start Debugging"
  4. Choose "MAUI iOS Simulator"

πŸ—οΈ Project Structure

SnapDogSitter/
β”œβ”€β”€ SnapDogSitter/           # Main MAUI application
β”œβ”€β”€ SnapDogSitter.Core/      # Shared business logic
β”œβ”€β”€ SnapDogSitter.Api/       # SignalR & HTTP API client
β”œβ”€β”€ SnapDogSitter.Tests/     # Unit tests
β”œβ”€β”€ .github/workflows/       # CI/CD pipelines
β”œβ”€β”€ .vscode/                 # VS Code configuration
└── platforms/               # Platform-specific resources

πŸ”— Related Projects

  • SnapDog2 - Main multi-room audio server

🀝 Contributing

This project follows the same contribution guidelines as SnapDog2. Please see the main repository for detailed contribution instructions.

πŸ“„ License

This project is licensed under the GNU Lesser General Public License v3.0 - see the LICENSE file for details.

πŸ• About the Name

"SnapDogSitter" plays on the idea of a pet sitter - someone who takes care of your "SnapDog" when you're not around. This companion app "sits" with your SnapDog2 system, keeping an eye on it and allowing you to control it remotely.


Made with ❀️ in Hannover for SnapDog lovers

About

πŸ•πŸ“± Cross-platform mobile and desktop companion app for SnapDog2 multi-room audio system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors