Когда несколько людей пользуются одной базой песен, быстро появляются копии, разные версии текста и личные списки в мессенджерах. Я собрал приложение, где общий каталог и личная организация не мешают друг другу.
Что работает сейчас
Пользователь входит по электронной почте и коду, создаёт личные папки и добавляет одну песню сразу в несколько подборок. Порядок сохраняется отдельно для каждой папки, избранного и списка без папки. Общий каталог остаётся плоским: в нём есть версии песен, поиск и защита от дублей.
Администратор модерирует новые материалы, объединяет совпадения и видит журнал изменений. Парсер распознаёт куплеты, припевы, служебные пометки и аккорды, а нормализатор приводит записи к единой структуре.
Как устроен рабочий процесс
Участник находит существующую песню или предлагает новую. Система проверяет возможные дубли, после модерации запись становится общей. Каждый человек организует её для себя, не создавая новую копию в каталоге.
Технический стек
Серверная часть работает на Python и FastAPI, данные хранятся в PostgreSQL, интерфейс адаптирован под телефон и PWA-режим. Авторизация, модерация и аудит разделены по ролям.
Измеримый результат
Одна песня может находиться в нескольких личных папках без дублирования самой записи. Порядок хранится на уровне каждой подборки, а повторная очистка текста идемпотентна — не портит уже нормализованный материал.
Что это даёт бизнесу
Та же архитектура подходит для общих каталогов инструкций, шаблонов, документов или медиаматериалов: одна проверенная база и разные персональные рабочие наборы поверх неё.
