HM Portfolio — پلتفرم رزومه، وبلاگ فنی و مدیریت پروژه
معرفی پروژه
این پروژه، دقیقاً همین سایتی است که هماکنون در حال مشاهدهی آن هستید؛ یک پلتفرم چندمنظوره که سه نقش کاملاً متفاوت را زیر یک سقف جمع کرده: ویترین رزومه و نمونهکارهای من، یک وبلاگ فنی با سیستم کامل نویسندگان، و یک مسیر کامل کارفرمایی از ثبت درخواست پروژه تا قرارداد، پرداخت و تحویل نهایی. برخلاف یک سایت رزومهی سادهی ایستا، این پلتفرم یک اپلیکیشن کامل با سه نوع کاربر، احراز هویت پیامکی، و گردشکار واقعی تجاری است.
امکانات کلیدی
- احراز هویت بدون رمز عبور برای همهی نقشها (نویسنده، کارفرما) با کد تأیید پیامکی
- وبلاگ فنی کامل: نویسندگان متعدد با پروفایل عمومی اختصاصی، دستهبندی و برچسب مقالات، سیستم نظردهی، دنبالکردن نویسندگان، و انتشار دوزبانهی هر مقاله
- ویزارد سهمرحلهای ثبت درخواست پروژه با سلکتباکسهای جستجوپذیر و پیشنهاد امکانات متناسب با هر دستهبندی پروژه
- قرارداد رسمی دیجیتال با امضای الکترونیک (رسم امضا + تأیید پیامکی) و امکان پیگیری مراحل امضا از هر دو سمت
- سیستم پرداخت مرحلهای (Milestone) متصل به درگاه زرینپال، با تنظیمات کاملاً از پنل مدیریت (سوییچ سندباکس/واقعی، مرچنت کد)
- یادآوری خودکار پیامکی برای سررسید مراحل پرداخت، و وضعیت «در انتظار پرداخت» برای پروژههای دارای سررسید گذشته
- سیستم تیکت پشتیبانی با نشانگر خودکار «پیام خواندهنشده» که فقط یکبار تا قبل از باز شدن تیکت نمایش داده میشود
- دروازهی تکمیل پروفایل: کارفرما تا زمانی که اطلاعات لازم برای قرارداد (متناسب با شخص حقیقی یا حقوقی) را کامل نکند، نمیتواند درخواست پروژه ثبت کند
- نمایش نمونهکارها (دقیقاً همین بخش!) با اسلایدر قابلکشیدن و لوپ بینهایت، فیلتر دستهبندی، و کاور اختصاصی تولیدشده برای هر پروژه
- پشتیبانی کامل دوزبانه (فارسی/انگلیسی) با چیدمان راستبهچپ/چپبهراست در سراسر سایت
معماری فنی
بکاند با Laravel نوشته شده و پنل مدیریت کاملاً اختصاصی با Filament ساخته شده — هیچ بخشی از مدیریت محتوا یا تنظیمات (از مقالات گرفته تا تنظیمات درگاه پرداخت و پیامک) وابسته به کد یا فایل env نیست و همه از پنل قابلتغییرند. دیتابیس MySQL است. فرانتاند با Next.js (App Router) و React نوشته شده و از ISR برای کش هوشمند محتوای عمومی (مثل همین صفحهی نمونهکارها) استفاده میکند تا هم سرعت بالا بمونه هم محتوا با تأخیر کوتاهی بهروز بشه. تاریخهای شمسی با یک پیادهسازی اختصاصی (بدون وابستگی به پکیجهای خارجی) مدیریت میشن. پیامکها از طریق Kavenegar و پرداخت از طریق زرینپال انجام میشه، هر دو با تنظیمات admin-editable. کل سرویس (بکاند، فرانتاند، Nginx، MySQL) با Docker Compose مدیریت و اجرا میشه.
نقش من
طراحی معماری کامل، مدلسازی دیتابیس، پیادهسازی تمام APIها و پنل مدیریت در بکاند، توسعهی کامل رابط کاربری در فرانتاند، و یکپارچهسازی سرویسهای پرداخت و پیامک، همگی بهتنهایی و توسط من انجام شده است — همین پروژهای که همین الان در حال استفاده از آن هستید.