مرکز اخبار
آخرین بهروزرسانیها و پیشرفتهای پروژههای در حال توسعه
موزیک
نرمافزاربهبودهای گسترده در سرور موزیک onpmelody
امروز یک جلسه کاری پربار داشتیم و بهبودهای زیادی روی سرور موزیک onpmelody اعمال شد: --- 📱 **آیکونهای Mini Player در همه صفحات** مشکل ناپدید شدن آیکونهای پلیر در صفحات ارتباط، رادیو، تلویزیون و ورود برطرف شد. 👆 **Swipe روی کاور آهنگ** حالا میتونید روی کاور آهنگ swipe کنید — به چپ برای بعدی، به راست برای قبلی. 📻 **مدیریت سرویس رادیو و تلویزیون** از پنل ادمین میتوانید رادیو و تلویزیون را روشن یا خاموش کنید. وضعیت در دیتابیس ذخیره میشه و بعد از ریستارت حفظ میمانه. آیکون سرویس خاموش در هیچ صفحهای نشان داده نمیشود. 📊 **بررسی کاورهای موزیک از ادمین** دکمهای اضافه شد که نشان میدهد چند آهنگ کاور دارند و لیست آهنگهای بدون کاور را نمایش میدهد. 🔙 **دکمه بازگشت در همه صفحات** یک دکمه بازگشت در header تمام صفحات اضافه شد. 📍 **حفظ موقعیت اسکرول** وقتی از صفحه اصلی وارد یک آهنگ میشید و برمیگردید، دقیقاً همانجایی که بودید نمایش داده میشه. 🎤 **فیلتر «فقط آهنگهای همین خواننده»** در صفحه پلیر یک تیک وجود دارد — با فعال کردن آن، دکمههای بعدی/قبلی فقط بین آهنگهای همان خواننده جابجا میشوند. 🔍 **رفع باگ فاصله در جستجو** مشکل تایپ نشدن فاصله در باکس جستجو برطرف شد. 🗂️ **بهینهسازی پنل ادمین** کارت «ساخت نسخه Release» به تب «مسیر و انتشار» منتقل شد.
موزیک
نرمافزار🎵 آپلود موزیک از اپ + بازنویسی کامل مسیر ذخیرهسازی
🚀 امروز چندین بهبود کلیدی روی پروژه 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 هر دو بدون تغییر کد کار میکنه.
موزیک
نرمافزارمعرفی پروژه 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های کامل باعث شده هم کارایی بالا داشته باشد و هم توسعهپذیر باقی بماند.