Music Manager capstone project

⚓ Rust    📅 2026-04-11    👤 surdeus    👁️ 4      

surdeus

Hello 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. :face_savoring_food:

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 notify crate 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

Read full topic

🏷️ Rust_feed