60+ endpoints · batch upload of 20
Musicians and music schools manage score collections in Dropbox, spreadsheets, and paper folders. MSL replaces that with a searchable, taggable, collaborative score library with a built-in PDF viewer — so students can open a score, zoom, and read without downloading anything.
MSL is a full-stack music score library with a React 18 frontend and Django REST API backend with 60+ endpoints. Features include multiple library management (public/private), rich metadata tagging (composer, period, difficulty, work type), collaboration with 3 permission levels, global search with filtering, built-in PDF viewer with zoom and dark/light theme, activity tracking, in-app notifications, and batch upload up to 20 scores.
60+ endpoints on the Django side; React 18 on the reading surface. Django admin handles content moderation for free, which saved building a custom moderator UI.
Every score carries composer, period, difficulty, work type, and custom tags. Search runs over structured fields, not just filenames — so "Bach · Baroque · intermediate" returns exactly that.
Owner / editor / viewer permissions applied per library. Lets a school split public/private collections — a master catalog open to students, a private working set for faculty.