Music Manager capstone project
⚓ Rust 📅 2026-04-11 👤 surdeus 👁️ 4Hello everyone!
I'd appreciate a code review of my project Music Manager - a modular and fault-tolerant system for media library management automation, built as a capstone project for the RustCamp UA certification. ![]()
Repo: music-manager
PR: Core features #1
What it does
The system uses an event-driven approach to automate audio file processing (tagging, fingerprinting, etc.). It’s split into a Cargo workspace with the following components:
- core_lib - Shared backbone. Defines actor protocols (messages/traits), domain models, and the Lua configuration layer.
- core_bin - Entry point. Orchestrates the actor system, manages global state (DB, Lua VM), and spawns the Coordinator.
- plugins/metadata_restorer - Tagging plugin. Performs AcoustID fingerprinting, fetches MusicBrainz tags, and handles manual conflict resolution.
- services/watcher - Ingestion service. Monitors the filesystem for new files using the
notifycrate and triggers the processing pipeline.
Technical Highlights
- Actor Model: All components communicate via asynchronous, non-blocking messages using the Kameo framework.
- Dynamic Config: A context-aware configuration system where Lua scripts can define complex pipeline behaviors.
- Fault Tolerance: Robust error handling to ensure no track "hangs" in the pipeline even if a plugin fails.
There are also architecture diagrams in the README.
Thanks in advance!
2 posts - 2 participants
🏷️ Rust_feed