درخواست همکاری

Banner

درباره پروژه

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

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

دسته بندی
سایت
کارفرما
پروژه شخصی
سایت کارفرما
arazdevp.com
تاریخ شروع
۱۰ اسفند ۱۴۰۳
تاریخ انتشار
۱۰ مرداد ۱۴۰۴

محتوا و نمای کلی سایت

1. رابط کاربری مدرن و ریسپانسیو:

در این پروژه از طراحی مینیمال و مدرن استفاده شده که با رنگ‌بندی حرفه‌ای، تایپوگرافی استاندارد و المان‌های گرافیکی متناسب، تجربه‌ای چشم‌نواز برای کاربران به ارمغان می‌آورد. طراحی واکنش‌گرا نیز تضمین می‌کند که کاربران در هر دستگاهی از جمله موبایل، تبلت یا دسکتاپ، تجربه‌ای روان و هماهنگ خواهند داشت.

2. محتوای داینامیک با پنل مدیریت:

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

Project Middle
Project Middle
Project Middle
Project Middle

فرم ها

1. تماس با من:

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

2. عضویت در خبرنامه:

این یک فرم ساده است که برای دریافت ایمیل کاربران پیاده شده تا بعد ها اخبار و پیشنهادات به ایمیل های ثبت شده ارسال شوند.

Project Middle
Project Middle
Project Middle
Project Middle

نمایش پروژه ها به سبک حرفه‌ای

1. معرفی کامل و قابل تنظیم:

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

2. گالری تصاویر و ویدئوی نمایشی:

برای هر پروژه می‌توان به تعداد دلخواه تصویر آپلود کرد و ویدئوهای YouTube را به‌صورت embed شده در صفحه نمایش داد. این امکانات باعث می‌شوند پروژه‌ها حرفه‌ای‌تر معرفی شوند و محتوای بصری آن‌ها در تمامی دستگاه‌ها به‌خوبی نمایش یابد.

3. سیستم پروژه‌های مرتبط:

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

4. ابزارهای تعامل و مدیریت محتوا:

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

Project Middle
Project Middle
Project Middle
Project Middle

سیستم بلاگ حرفه‌ای و ساختاریافته

1. سازماندهی محتوا:

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

2. نگارش پست با محتوای HTML:

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

3. پیشنهاد مطالب مرتبط:

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

4. اشتراک‌گذاری و تصاویر ریسپانسیو:

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

5. کنترل انتشار محتوا:

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

Project Middle
Project Middle
Project Middle
Project Middle

رزومه‌ساز داینامیک

1. رزومه‌سازی هوشمند و قابل‌تنظیم:

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

2. پایداری و تشخیص خطا:

در صورت بروز خطا در فرآیند ساخت رزومه، سیستم به‌طور خودکار مقدار resume_generate_status را برابر با False تنظیم می‌کند. این کار به ادمین اجازه می‌دهد خطا را سریع تشخیص داده، لاگ‌ها را بررسی کرده و مشکل را برطرف کند، بدون آن‌که کاربر نهایی با خطای ظاهری مواجه شود.

3. قابلیت‌های تنظیم محتوا:

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

4. داده‌های پویا و قابل ویرایش:

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

Project Middle
Project Middle
Project Middle
Project Middle

پنل مدیریت پیشرفته

1. فرم‌های ساختاریافته با Fieldsets:

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

2. نمایش حرفه‌ای با list_display و فیلترهای پیشرفته:

با استفاده از list_display، اطلاعات کلیدی هر مدل در جدول‌ها به‌شکلی کاربردی و واضح ارائه می‌شود. همچنین، فیلترهای کناری و قابلیت جست‌وجوی سریع، دسترسی به داده‌های خاص را بسیار سریع و دقیق کرده‌اند.

3. مدیریت هوشمند محتوا و آپلود سریع تصاویر:

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

4. راهنمای کامل استفاده از پنل مدیریت:

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

Project Middle
Project Middle
Project Middle
Project Middle

جزئیات فنی

1. ویجت‌های شخصی‌سازی‌شده:

برای نمایش و ویرایش محتوای HTML در پنل مدیریت، ویجت HTMLEditorWidget طراحی شده که با استفاده از CodeMirror تجربه‌ای حرفه‌ای برای مدیران فراهم می‌کند و از بروز اشتباهات در محتوای HTML جلوگیری می‌کند.

2. Template Tags و Context Processors:

برای تسهیل در فرمت‌دهی و تبدیل تاریخ‌ها و استفاده از اطلاعات مشترک در قالب‌ها، template tag ها و context processor های اختصاصی توسعه داده شده‌اند که ساختار تمپلیت‌ها را خواناتر و انعطاف‌پذیرتر می‌کنند.

3. سیگنال‌ها:

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

4. کامند و اکشن‌های سفارشی:

برای مدیریت وظایف خودکار مانند ارسال پیام‌های فرم تماس، تولید رزومه‌ها و عملیات مدیریتی مشابه، چندین دستور CLI سفارشی و اکشن‌های پنل ادمین طراحی و پیاده‌سازی شده‌اند.

5. ساختار فنی و اصول توسعه:

این پروژه با پیروی از اصل DRY و استفاده از Base Template ها طراحی شده تا توسعه و نگهداری آن ساده‌تر شود. همچنین برای صفحات پیچیده و مهم، View ها به صورت Class Based View پیاده‌سازی شده‌اند که باعث خوانایی و قابلیت گسترش بیشتر کد می‌شود.

خلاصه پروژه

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

اشتراک گذاری