🚀 معرفی PBLOG – یک برنامه وبلاگ نویسی TUI dockerized

👋 سلام جامعه dev!
بگذارید همه شما را با آخرین پروژه خود آشنا کنم: پبگج! 🎉
pblog یک است برنامه وبلاگ نویسی رابط کاربری مبتنی بر ترمینال (TUI) طراحی شده است تا مدیریت وبلاگ را یکپارچه کند. این امکان را به کاربران می دهد ارسال ، خواندن ، به روز رسانی و حذف پست ها کارآمد در حین پشتیبانی جستجوی مبتنی بر شباهت وت واکشی برای عملکرد بهینه شده و برای جلوگیری از اضافه بار بانک اطلاعاتی.
🤔 چرا این پروژه؟
من این پروژه را به عنوان راهی برای یادگیری شروع کردم اسکله و نحوه ادغام یک پایگاه داده در یک پس زمینه. از طریق این سفر ، فهمیدم که چگونه یک پایگاه داده مانند پس از با یک ظرف دیگر در همان شبکه ارتباط برقرار می کند و این یک تغییر دهنده بازی بود! 🚀
✨ ویژگی ها
📝 عملیات CRUD – وبلاگ خود را با سهولت مدیریت کنید
PBLOG روشی بصری برای رسیدگی به پست های وبلاگ با ارسال های تأیید و رسیدگی به خطا فراهم می کند.
-
یک پست ایجاد کنید 📝
با زحمت ورودی های جدید وبلاگ را اضافه کنید.
-
یک پست بخوانید 📖
مشاهده محتوای دقیق با سهولت.
-
یک پست را به روز کنید ✏
به طور خودکار محتوای قبلی را برای ویرایش سریع پر کنید.
-
CRUD با تأیید ✅
تأیید کار انجام شده
-
رسیدگی به خطا ⚠
اعتبارسنجی قوی و پیام های خطای کاربر پسند.
🔍 قابلیت های جستجوی پیشرفته
-
جستجوی مبتنی بر شناسه 🔢
بازیابی پست ها با استفاده از یک شناسه منحصر به فرد.
-
جستجوی مبتنی بر شباهت 🧐
پست ها را بر اساس ارتباط محتوا پیدا کنید.
-
واکشی 📌
عملکرد را با واکشی پست ها در دسته ها بهینه می کند.
🛠 جزئیات فنی
PBLOG با استفاده از:
- اسکله 🐳 – برای کانتینر و سازگاری محیط.
- رفتن 🚀 – برای همزمانی ، عملکرد و سادگی در توسعه پس زمینه انتخاب شده است.
- پس از 🛢-بانک اطلاعاتی قابل اعتماد ، مقیاس پذیر و غنی از ویژگی.
- رنگ آبی 🔌 – ORM که تعامل پایگاه داده را ساده می کند.
- عکسبرداری 🎨 – یک کتابخانه قدرتمند برای ساخت برنامه های TUI در GO.
⚡ چالش های روبرو و راه حل ها
تمرکز سوئیچینگ 1⃣ در TUI 🖥
مشکل: در ابتدا ، من تلاش کردم تا تمرکز بین بخش های مختلف TUI را تغییر دهم.
راه حل: با استفاده از tview.Pages
، من توانستم TUI را به بخش های مختلف تقسیم کنم و به صورت پویا بین آنها تغییر کنم.
2⃣ docker ادغام پایگاه داده
مشکل: این برنامه نمی تواند با ظرف پایگاه داده PostgreSQL ارتباط برقرار کند.
راه حل: مسئله این بود که برنامه گاهی اوقات قبل از آماده شدن پایگاه داده شروع می شود. اضافه کردن depends_on
در docker-compose.yml
قبل از شروع برنامه ، پایگاه داده اولیه را تضمین می کند.
3⃣ شماره ضبط ترمینال ⌨
مشکل: سیاهههای مربوط به پایگاه داده ترمینال را اشغال کرده و مانع نمایش برنامه TUI می شوند.
راه حل: اجرای مجموعه آهنگسازی در حالت جدا شده (-d
) و سپس استفاده از docker attach
در ظرف برنامه اطمینان حاصل کرد که TUI به درستی ظاهر می شود.
🚀 بعدی چیست؟
🔍 فیلتر کردن – نتایج را از طریق دسته بندی ها فیلتر کنید.
🔐 احراز هویت – ورود به سیستم را اجرا کنید و مجوزها را بنویسید.
🏷 تنظیمات برگزیده کاربر – پست ها را بر اساس برچسب ها توصیه کنید.
💰 دروازه پرداخت – گزینه های کسب درآمد را فعال کنید.
🏗 استقرار PostgreSQL – استقرار در یک سرور عمومی برای به اشتراک گذاری در سراسر جهان.
🎉 نتیجه گیری
با تشکر از شما برای این کار تا کنون! 🙌 این سفر بود فوق العاده پاداش دهنده همانطور که من از دانستن خیلی کم در مورد ادغام Docker و Database به آن رفتم ساختن یک برنامه کاملاً کاربردیبشر اگر این پروژه را مفید می دانید ، آن را در GitHub بررسی کنید و احساس راحتی کنید! 🚀
👉 ribo
برنامه نویسی مبارک! 😃