
پلتفرم مدیریت پروژه
Planora یک پلتفرم فولاستک و Production-Ready برای مدیریت پروژه است که با تمرکز بر همکاری تیمی، مدیریت وظایف و گردشکارهای مدرن طراحی شده است. این سیستم با ارائهی بردهای کانبان، مدیریت پیشرفتهی تسکها، همکاری لحظهای (Real-time) و سیستم جامع مدیریت نقشها و دسترسیها (RBAC)، محیطی کامل برای برنامهریزی و مدیریت پروژهها فراهم میکند.
این پلتفرم از یک فرانتاند مبتنی بر Next.js و یک بکاند لایهبندیشده با Express تشکیل شده که از طریق REST API و Socket.io با یکدیگر ارتباط برقرار میکنند. احراز هویت با استفاده از JWT، کوکیهای HttpOnly و مکانیزم Refresh Token Rotation پیادهسازی شده و همگامسازی لحظهای باعث میشود تغییرات بردها، تسکها، گفتوگوهای تیمی و فعالیتهای پروژه بدون نیاز به رفرش صفحه برای تمام اعضای متصل نمایش داده شود.
تمرکز اصلی من در این پروژه، طراحی محصول از دیدگاه فرانتاند، معماری مقیاسپذیر پروژه، پیادهسازی کامل رابط کاربری، یکپارچهسازی REST API و WebSocket، طراحی رابطهای مبتنی بر سطح دسترسی کاربران و توسعهی تجربهای سریع، روان و تعاملی با استفاده از Optimistic UI بوده است.
طراحی محصول و توسعه کامل فرانتاند (Next.js / React) مسئولیت من شامل طراحی تجربه کاربری محصول، معماری فرانتاند، پیادهسازی کامل رابط کاربری، اتصال به REST API و Socket.io، توسعه ماژولهای مستقل، طراحی هوکهای اختصاصی، پیادهسازی Optimistic UI و بهینهسازی عملکرد و مقیاسپذیری کل برنامه بود. توسعهی بکاند شامل APIها، پایگاه داده، سیستم احراز هویت، ذخیرهسازی فایلها و انتشار رویدادهای Real-time توسط بخش دیگری انجام شده و تمرکز من بهطور کامل روی توسعهی یک فرانتاند Production-Ready بوده که بتواند بهصورت پایدار و مقیاسپذیر با سرویسهای بکاند تعامل داشته باشد.
سازماندهی اپلیکیشن در ماژولهای مستقل (Auth، Dashboard، Projects، Boards، Tasks، Search، Permissions و ...) برای بهبود مقیاسپذیری و نگهداری.
منطق تجاری پروژه در هوکهای قابل استفاده مجدد مانند useBoard، useProjectSocket، usePermissions، useSearch و useAuth پیادهسازی شد تا کامپوننتها تا حد امکان ساده و قابل نگهداری باقی بمانند.
برای پیادهسازی قابلیت Drag & Drop از کتابخانهی @dnd-kit استفاده شد که امکان جابهجایی بین چندین ستون، Optimistic Update، Rollback و پشتیبانی از ماوس، کیبورد و صفحات لمسی را فراهم میکند.
یک Socket.io Client بهصورت Singleton پیادهسازی شد که مدیریت اتصال، ورود به Roomها، همگامسازی رویدادها، اتصال مجدد خودکار و مدیریت وضعیت ارتباط را برعهده دارد.
برای مدیریت فرمها از React Hook Form و برای اعتبارسنجی از Zod استفاده شد تا علاوه بر خوانایی بیشتر، تعداد Re-renderها نیز به حداقل برسد.
از Tailwind CSS برای طراحی Layoutها و استایلهای سفارشی و از Ant Design برای کامپوننتهای پیچیده استفاده شد تا تعادل مناسبی میان انعطافپذیری و سرعت توسعه ایجاد شود.
تمام ارتباطات با API از طریق Axios و Interceptorهای اختصاصی مدیریت میشود که وظیفهی Refresh خودکار توکن و حفظ ارتباط احراز هویتشده را بر عهده دارند.
Planora نشاندهندهی توانایی من در طراحی و توسعهی نرمافزارهای Collaborative و Production-Ready فراتر از پروژههای CRUD معمول است. این پروژه تجربهی من در زمینهی معماری مقیاسپذیر فرانتاند، ارتباطات Real-time، مدیریت وضعیت خوشبینانه (Optimistic State)، سیستم پیشرفتهی مدیریت نقشها و دسترسیها (RBAC) و یکپارچهسازی پایدار با سرویسهای بکاند را بهخوبی نمایش میدهد و حاصل آن یک پلتفرم سریع، قابل اعتماد و مناسب برای همکاری تیمی در مقیاس واقعی است.