LedFx is a networked LED light effect controller that synchronizes multiple addressable LED devices (e.g., WLED, LIFX, Nanoleaf, Art-Net, DDP) to real-time audio analysis. It runs as a Python asyncio application with a built-in aiohttp REST API and a prebuilt React frontend served on port 8888. The system captures audio from system loopback, microphone, or network streams (Sendspin), processes it through FFT/melbank/beat detection, and drives audio-reactive effects on virtual LED strips and matrices. It also integrates with now-playing services (MPRIS, SMTC, Sendspin) to extract album art gradients and apply them to effects. The architecture is plugin-based: effects, devices, integrations, and API endpoints are registered via a `BaseRegistry` pattern with voluptuous schema validation. The core runtime (`LedFxCore`) orchestrates device discovery, virtual management, scene/playlist systems, and configuration persistence. The codebase is well-structured with clear separation of concerns, but some modules (e.g., `core.py`, `virtuals.py`) are large and handle multiple responsibilities. The project is actively maintained with comprehensive CI/CD, extensive test coverage (including API integration tests), and detailed documentation for users and developers.
This repository contains shinpuru, a production-grade Discord bot written in Go with a React/TypeScript web dashboard. It serves as a comprehensive guild management and moderation platform, handling reports, kicks, bans, mutes, and community engagement features like karma, starboard, votes, and code execution. The backend is a monolith using the discordgo library for Discord interactions, Fiber for its REST API, and sarulabs/di for dependency injection, backed by MySQL, Redis, and MinIO. The architecture is well-structured with clear separation of concerns. The internal/ directory houses services (database, storage, permissions, karma, reports), event listeners, slash commands, and middleware. The pkg/ directory is a standout collection of over 30 reusable utility packages, covering areas like rate limiting (limiter), one-time authentication (onetimeauth), Discord embed building (embedbuilder), fuzzy object resolution (fetch), and permission management (permissions). These packages are largely self-contained and could be extracted for use in other Go projects. The frontend is a modern React SPA with i18n support (English and German), a typed API client (shinpuru-ts), and a comprehensive set of components for managing every aspect of the bot. The project demonstrates strong engineering practices with CI/CD pipelines, Docker support, and a clear contribution model. While the codebase is large and shows some signs of technical drift (legacy package versions, some raw SQL patterns, duplicated package versions), the core architecture and reusable packages make it a valuable reference for building complex Discord bots or Go web applications.