💿

موزیک

سرور موزیک دبی یک پلتفرم آنلاین برای ارائه خدمات موزیک است که با هدف پخش و اشتراک‌گذاری محتوای موزیکی راه‌اندازی شده است. این پروژه در شهرک آپادانا مستقر بوده و از طریق وب‌سایت onpmelody.ir در دسترس کاربران قرار می‌گیرد. سرویس دارای امکانات ارتباطی متنوعی شامل تلفن، ایمیل، واتساپ، تلگرام و اینستاگرام است که نشان‌دهنده تعامل فعال با کاربران می‌باشد. این پلتفرم احتمالاً به عنوان یک سرور موزیک محلی برای ذخیره‌سازی و پخش موزیک‌های مختلف طراحی شده است. پروژه با ارائه اطلاعات تماس کامل، تلاش در جهت ایجاد ارتباط مستقیم و حرفه‌ای با مخاطبان دارد.

category نرم‌افزار
schedule شروع: 2025/08/15
update آخرین بروزرسانی: 2026/05/28
visibility 148 بازدید
Go (Gin) MongoDB Redis Docker Caddy JWT WebSocket PWA (Service Worker) Tailwind CSS Node.js
موزیک
5170 خط کد
3 خبر
10 تکنولوژی
فعال وضعیت

مسیر توسعه

پیگیری پیشرفت از روز اول

today روز 1 2025/08/15

معرفی پروژه onpmelody

🎶 این پروژه یک سامانه‌ی پخش و مدیریت محتوای چندرسانه‌ای (موسیقی و ویدئو) است که با زبان Go و فریم‌ورک Gin پیاده‌سازی شده و از MongoDB به‌عنوان پایگاه داده استفاده می‌کند. این سیستم برای ارائه‌ی سرویس استریم آنلاین موسیقی و ویدئو، مدیریت کاربران، احراز هویت، و امکاناتی مثل علاقه‌مندی‌ها و پخش زنده رادیو و تلویزیون اینترنتی طراحی شده است. ✨ امکانات اصلی 🔑 مدیریت کاربران و احراز هویت . تعریف کاربر با فیلدهای نام کاربری، موبایل، ایمیل، نقش، وضعیت فعال، توکن JWT و تاریخ انقضا . ثبت‌نام با شماره موبایل و تأیید پیامکی (OTP) + ایجاد خودکار کاربر جدید . ورود با رمز عبور یا OTP + ذخیره توکن در کوکی و دیتابیس . غیرفعال‌سازی یا مسدودسازی کاربران + مدیریت دلایل مسدودی 🎵 سیستم استریم موسیقی و ویدئو . اسکن خودکار پوشه (BASE_DIR) برای فایل‌های MP3 و MP4 . تشخیص کیفیت (128/320kbps برای موسیقی و 480p/720p/1080p برای ویدئو) . ثبت اطلاعات کاور و جزئیات فایل . کش‌گذاری پیشرفته بر اساس هنرمند، عنوان، نام فایل یا آهنگ‌های یکتا . مرتب‌سازی محتوا بر اساس تاریخ آخرین تغییر . ماژول RadioStreamer و TVStreamer برای پخش زنده 💡 امکانات کاربرپسند . سیستم علاقه‌مندی‌ها (افزودن/حذف آهنگ‌ها) با ذخیره در دیتابیس . APIهای صفحه‌بندی شده برای لیست علاقه‌مندی‌ها و وضعیت هر آهنگ . صفحات HTML برای لیست آهنگ‌ها، علاقه‌مندی‌ها، رادیو و تلویزیون آنلاین . پروفایل کاربری با نمایش اطلاعات کامل اشتراک 🔄 بروزرسانی و نگهداری خودکار . وظایف زمان‌بندی شده (هر ۳۰ دقیقه بین ۹ صبح تا ۱۱ شب) برای: ▪ پاکسازی توکن‌های منقضی ▪ اجرای اسکریپت دانلود محتوای جدید ▪ بازسازی کش موسیقی . API اختصاصی برای بروزرسانی دستی کش 🔗 APIهای عمومی و محافظت‌شده . مسیرهای عمومی: صفحه اصلی، جستجو، پخش پیش‌نمایش، دریافت کاور، ورود و ثبت‌نام . مسیرهای محافظت‌شده: پخش فایل اصلی، دانلود، مدیریت علاقه‌مندی‌ها، پروفایل کاربر . پاسخ‌های JSON استاندارد با ساختار (success، message، error، timestamp) ⚙️ زیرساخت و معماری . استفاده از Middlewareهای Gin (مثل cors و auth control) . بارگذاری قالب‌های HTML از مسیر templates و سرو فایل‌های استاتیک (/static) . توابع کمکی برای هش رمز عبور، اعتبارسنجی توکن، تولید توکن جدید . ایندکس‌های TTL در MongoDB برای پاکسازی خودکار توکن‌ها 📌 جمع‌بندی این سیستم ترکیبی از یک سرویس استریم موسیقی 🎶، یک تلویزیون اینترنتی 📺 و یک پلتفرم کاربر محور 👤 است. ویژگی‌هایی مثل کش‌گذاری هوشمند، بروزرسانی زمان‌بندی‌شده و APIهای کامل باعث شده هم کارایی بالا داشته باشد و هم توسعه‌پذیر باقی بماند.
today روز 2 2026/05/09

🎵 آپلود موزیک از اپ + بازنویسی کامل مسیر ذخیره‌سازی

🚀 امروز چندین بهبود کلیدی روی پروژه onpmelody اعمال شد: 📤 آپلود موزیک از اپ اندروید سیستم آپلود موزیک از داخل اپ بازنویسی شد و حالا با pattern chunked (resume + SHA-1 checksum + retry با backoff) کار می‌کنه. اگه کاربر وسط آپلود اینترنتش قطع شد، تلاش بعدی فقط چانک‌های باقی‌مانده رو می‌فرسته - نه از اول. 🗂️ تغییر کامل مسیر ذخیره‌سازی مسیر فیزیکی فایل‌ها از حالت hardcode قبلی به یک مسیر قابل تنظیم منتقل شد. حالا با یک env var میشه روی هر OS و هر سرور آدرس رو عوض کرد. 📝 ذخیره relative path در MongoDB قبلاً file_path و cover_path در دیتابیس به‌صورت absolute ذخیره می‌شدن — اگه پوشه جابه‌جا می‌شد یا روی سرور دیگه‌ای deploy می‌کردیم، همه رکوردها dead می‌شدن. حالا path نسبی نسبت به فولدر Music ذخیره میشه. یک migration یک‌باره روی ۱۲٬۸۶۷ رکورد metadata و ۷٬۰۲۵ رکورد music_files انجام شد. 🖼️ پردازش کامل بعد از آپلود همون فلوی auto-downloader: استخراج ID3 (title/artist/album/composer/lyrics)، استخراج کاور با کیفیت بهینه، ذخیره در دو کالکشن metadata و music_files، تمیزکاری تگ‌های ID3 (حذف منابع تبلیغاتی مثل @AnySource)، broadcast notification به کانال Onpmelody، و رفرش خودکار cache. 🎯 Hybrid serving سرور حالا fallback hybrid داره: اگه فایل تو مسیر اصلی نبود، خودبخود از مسیر local serve می‌کنه. روی Mac و Windows هر دو بدون تغییر کد کار می‌کنه.
today روز 3 2026/05/28

بهبودهای گسترده در سرور موزیک onpmelody

امروز یک جلسه کاری پربار داشتیم و بهبودهای زیادی روی سرور موزیک onpmelody اعمال شد: --- 📱 **آیکون‌های Mini Player در همه صفحات** مشکل ناپدید شدن آیکون‌های پلیر در صفحات ارتباط، رادیو، تلویزیون و ورود برطرف شد. 👆 **Swipe روی کاور آهنگ** حالا می‌تونید روی کاور آهنگ swipe کنید — به چپ برای بعدی، به راست برای قبلی. 📻 **مدیریت سرویس رادیو و تلویزیون** از پنل ادمین می‌توانید رادیو و تلویزیون را روشن یا خاموش کنید. وضعیت در دیتابیس ذخیره می‌شه و بعد از ریستارت حفظ می‌مانه. آیکون سرویس خاموش در هیچ صفحه‌ای نشان داده نمی‌شود. 📊 **بررسی کاورهای موزیک از ادمین** دکمه‌ای اضافه شد که نشان می‌دهد چند آهنگ کاور دارند و لیست آهنگ‌های بدون کاور را نمایش می‌دهد. 🔙 **دکمه بازگشت در همه صفحات** یک دکمه بازگشت در header تمام صفحات اضافه شد. 📍 **حفظ موقعیت اسکرول** وقتی از صفحه اصلی وارد یک آهنگ می‌شید و برمی‌گردید، دقیقاً همان‌جایی که بودید نمایش داده می‌شه. 🎤 **فیلتر «فقط آهنگ‌های همین خواننده»** در صفحه پلیر یک تیک وجود دارد — با فعال کردن آن، دکمه‌های بعدی/قبلی فقط بین آهنگ‌های همان خواننده جابجا می‌شوند. 🔍 **رفع باگ فاصله در جستجو** مشکل تایپ نشدن فاصله در باکس جستجو برطرف شد. 🗂️ **بهینه‌سازی پنل ادمین** کارت «ساخت نسخه Release» به تب «مسیر و انتشار» منتقل شد.
👁️ ۰ | 📅 ۰ | 📊 ۰ | طراحی و توسعه: 1111 © 1404