حسین یعقوبی
حسین یعقوبی
خواندن ۴ دقیقه·۲۱ روز پیش

پروژه‌ی django-daisy: پنل ادمین زیبا و کاربردی برای جنگو 🎉


امروز خیلی خوشحالم که پروژه‌ی جدید خودم به نام django-daisy رو معرفی می‌کنم. این پروژه به شما یک رابط کاربری جذاب و کاربرپسند برای پنل ادمین جنگو ارائه می‌ده که به طور ویژه روی بهبود طراحی و تجربه‌ی کاربری تمرکز کرده.

چرا این پروژه رو ساختم؟

همه می‌دونیم که پنل ادمین پیش‌فرض جنگو یکی از قدرتمندترین ابزارها برای مدیریت داده‌هاست. این پنل قابلیت‌های فوق‌العاده‌ای داره که کار رو برای توسعه‌دهنده‌ها راحت می‌کنه. اما چیزی که همیشه منو اذیت می‌کرد، ظاهر ساده و نه‌چندان جذابش بود. وقتی تازه به جنگو شروع کرده بودم، این موضوع خیلی به چشم می‌اومد.

اما وقتی بیشتر با جنگو کار کردم، متوجه شدم که پنل ادمین باوجود ظاهر ابتدایی‌اش، خیلی توانمنده و می‌تونه در زمان توسعه پروژه‌ها به شدت صرفه‌جویی کنه. از اونجایی که خیلی از پروژه‌ها نیاز به طراحی جدید پنل ادمین داشتند، معمولاً توسعه‌دهندگان به سراغ API می‌رفتن تا پنل جدیدی بسازن که این خود فرایند توسعه رو پیچیده‌تر و زمان‌بر می‌کرد.

داستان ساخت پروژه django-daisy: از چالش‌ها تا راه‌حل‌ها

داستان ساخت django-daisy برمی‌گرده به حدود ۳ سال پیش، زمانی که من در یکی از شرکت‌ها مشغول به کار بودم. پروژه‌هایی که داشتیم به قدری پیچیده و زمان‌بر بودند که تصمیم گرفتیم از فریمورک جنگو برای سرعت بخشیدن به روند پیاده‌سازی استفاده کنیم. یکی از ویژگی‌های کلیدی جنگو این بود که می‌توانست زمان توسعه رو به طرز چشمگیری کاهش بده، که در پروژه‌های بزرگ و پیچیده برای ما خیلی مهم بود.

اما با تمام قدرت و امکاناتی که جنگو داشت، یک مشکل اساسی وجود داشت: رابط کاربری پنل ادمین پیش‌فرض. طراحی بسیار ساده و نه چندان جذاب پنل ادمین جنگو به شدت باعث افت تجربه کاربری می‌شد. با این حال، تصمیم گرفتیم برای حل این مشکل از تم‌های آماده جنگو استفاده کنیم. این تم‌ها کمی ظاهر رو بهتر می‌کردن، اما هنوز هم اون چیزی که می‌خواستیم نبود. ظاهر پنل ادمین هنوز هم خیلی به دل نمی‌نشست و نمی‌شد به راحتی ازش در محیط‌های حرفه‌ای یا استارتاپی استفاده کرد.

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

این اتفاقات مربوط به حدود ۳ سال پیش بود. اما از همون زمان به این فکر می‌کردم که روزی بیام و این تجربه رو در قالب یک پروژه عمومی و آزاد منتشر کنم.

چرا امروز تصمیم به انتشار django-daisy گرفتم؟

الان که ۳ سال از اون زمان گذشته، تصمیم گرفتم که یک تم جدید و به‌روزتر بسازم. این‌بار از لایبرری DaisyUI استفاده کردم، که خوشبختانه سازنده‌ی این لایبرری پویا صادقی عزیز، یک ایرانی با استعداد است. این لایبرری به قدری کار باهاش راحت و جذاب بود که تصمیم گرفتم پروژه‌ای بسازم که هم به زیبایی پنل ادمین کمک کنه و هم تجربه کاربری رو به سطح بالاتری ببره.

django-daisy به نوعی نتیجه تجربیات و چالش‌هایی است که خودم در پروژه‌های قبلی باهاش مواجه شدم. با استفاده از این پروژه، حالا شما می‌تونید پنل ادمین جنگو رو با ظاهری زیبا و کاربرپسند استفاده کنید، بدون اینکه نیازی به بازنویسی کلی سیستم یا پیچیدگی‌های اضافی داشته باشید.

چرا به شما توصیه می‌کنم از django-daisy استفاده کنید؟

اگر شما هم در حال توسعه یک پروژه با جنگو هستید و نیاز به یک پنل ادمین زیبا و کارآمد دارید، django-daisy می‌تونه راه‌حل مناسبی برای شما باشه. حتی اگر شما در یک استارتاپ مشغول به کار هستید و به دنبال یک دیپلوی سریع با ظاهر حرفه‌ای هستید، پیشنهاد می‌کنم به جنگو و این پروژه نگاه ویژه‌ای داشته باشید. این پروژه هم قدرت جنگو رو حفظ می‌کنه و هم رابط کاربری جذاب و مدرنی رو برای شما فراهم می‌کنه.

فریم‌ورک فرانت‌اند: DaisyUI

برای طراحی فرانت‌اند از DaisyUI استفاده کردم. این لایبرری برای ساخت رابط کاربری خیلی ساده و راحت است و حتی من که تجربه زیادی در فرانت‌اند نداشتم، به راحتی تونستم ازش استفاده کنم. جالب اینجاست که سازنده‌ی این لایبرری پویا صادقی عزیز، یک ایرانی با استعداد، هست که من از این بابت خیلی خوشحالم. می‌تونید پروژه‌ی ایشون رو از گیت‌هاب ببینید.

چرا باید این پروژه رو امتحان کنید؟

من مشتاقانه منتظرم که شما تجربه کار با این پروژه رو بررسی کنید و نظرات خودتون رو به من بگید. آیا طراحی بهتری می‌شه داشت؟ آیا امکانات جدیدی می‌خواهید که در نسخه‌های بعدی اضافه بشه؟ هر بازخوردی می‌تونه به بهبود این پروژه کمک کنه و من خیلی خوشحال می‌شم که با شما در این زمینه همکاری کنم.

لینک‌ها و منابع:

در پایان:

اگر این پروژه براتون مفید بوده، خیلی خوشحال می‌شم که با گذاشتن یک ستاره در گیت‌هاب از پروژه حمایت کنید. همچنین، اگر به فکر معرفی این پروژه به دیگران هستید، حتماً این کار رو انجام بدید. نظر و حمایت شما باعث می‌شه این پروژه به نسخه‌های بهتری تبدیل بشه.


djangoجنگوآموزش جنگو
شاید از این پست‌ها خوشتان بیاید