کارفلو یک سامانهٔ کامل، فارسی و کاملاً راستچین برای **مدیریت گردش کار، واگذاری وظایف و پیگیری عملکرد سازمانی** است. این سامانه با رعایت کامل **سلسله مراتب سازمانی**، زمانبندی شمسی دقیق و بدون هیچ وابستگی خارجی (CDN یا سرویس اینترنتی) طراحی شده و برای نصب روی هاستهای اشتراکی و سرورهای محلی آماده است. ## ✨ امکانات اصلی
### مدیریت وظایف
- ایجاد، ویرایش و واگذاری وظیفه با **اولویتبندی** (فوری، زیاد، عادی، کم)
- **تخته کانبان** (Kanban) با قابلیت کشیدن و رها کردن کارتها و بهروزرسانی آنی از طریق AJAX
- **چکلیست** مرحلهبهمرحله برای هر وظیفه + محاسبهٔ خودکار درصد پیشرفت
- **زنجیرهٔ ارجاع کامل**: هر تغییر مجری در زنجیرهٔ ارجاعات ثبت میشود
- **تاریخچهٔ کامل تغییرات**: هر تغییر در عنوان، توضیحات، اولویت، وضعیت، مجری و… با زمان و کاربر ثبت میشود
- برچسبگذاری، برآورد زمان، توضیحات و یادداشت ارجاع
- امکان تعیین وظیفه بهصورت **محرمانه**
### هشدار و یادآوری
- تعیین **زمان هشدار شمسی** برای هر وظیفه
- یادآوری خودکار **سررسید، تأخیر و نزدیک شدن به مهلت** از طریق سیستم اعلان داخلی
- بازهٔ زمانی قابل تنظیم هشدار (از ۱ تا ۱۶۸ ساعت قبل از مهلت)
- تکرار یادآوری برای وظایف تأخیرشده (قابل تنظیم در تنظیمات سامانه)
- شمارندهٔ زندهٔ اعلانهای خواندهنشده در نوار بالا + بهروزرسانی خودکار هر ۶۰ ثانیه
### سلسله مراتب سازمانی
- تعریف **دپارتمانهای درختی چندسطحی** (ریاست → زیرمجموعهها)
- مجریان بر اساس دپارتمان فیلتر میشوند: مدیر فقط به کاربران زیرمجموعهٔ دپارتمان خود میتواند وظیفه ارجاع دهد
- سطح دسترسی سهگانه: **مدیر سامانه > مدیر میانی > کارمند**
- کاربران فقط وظایف دامنهٔ خود را مشاهده میکنند
### پنل حرفهای
- **داشبورد** با نمودار عملکرد هفتگی، کارتهای آماری و فعالیتهای اخیر
- **تقویم شمسی** ماهانه با نمایش وظایف روی روزها و رنگبندی بر اساس اولویت
- **گزارشگیری** در بازهٔ زمانی دلخواه: آمار تکمیل، تأخیر، نرخ موفقیت کارکنان و نمودار روند
- **مدیریت کاربران** (ایجاد، ویرایش، غیرفعالسازی، حذف با بازگرداندن وظایف به ثبتکننده)
- **پروفایل کاربری** با تغییر رمز عبور و بارگذاری تصویر (برش خودکار به ۳۲۰×۳۲۰ پیکسل)
- **نظام اعلانهای داخلی** با فیلتر خواندهنشده/مهم
- **تنظیمات سامانه**: نام برند، ثبتنام اینترنتی، پارامترهای هشدار و ابزارهای نگهداری
### صفحه فرود (Landing Page)
- طراحی سهبعدی حرفهای با افکت حرکت موس، پسزمینهٔ متحرک و گرید پرسپکتیو
- شش تم سهبعدی قابل انتخاب از طریق پنل مدیریت (یاقوت کبود، طلای سلطنتی، زمرد، یاقوت سرخ، جیوهٔ نقرهای، سحابی کهکشانی) — هر تم صحنهٔ سهبعدی و پالت رنگی مخصوص به خود را دارد
- اسکرول نرم و سینمایی با Lenis + انیمیشنهای GSAP/ScrollTrigger (همگی محلی)
- انیمیشن ظاهرشدن هنگام اسکرول + واکنشگرای کامل
### امنیت
- **کپچای عددی تصویری** در صفحه ورود و ثبتنام (رسم شده با کتابخانه GD و فونت محلی)؛ در صورت نبود افزونهٔ GD بهصورت خودکار تصویر SVG جایگزین میشود
- پردازش امن کپچا در هر دو صفحهٔ ورود و ثبتنام (مقایسهٔ یکبارمصرف با `hash_equals`)
- محافظت **CSRF** در تمام فرمها و درخواستهای AJAX
- رمزنگاری رمز عبور با **bcrypt**
- **محافظت در برابر ورودهای ناموفق**: قفل خودکار حساب پس از تلاشهای مکرر
- کوکیهای نشست `httponly` و `SameSite`
- پارامترهای دیتابیس همگی از طریق **PDO Prepared Statements**
### فنی
- **تقویم شمسی دقیق** مبتنی بر `IntlCalendar` (با fallback به محاسبهٔ خالص PHP)
- نمایش اعداد و تاریخ **فارسی** در تمام صفحات
- **فونت وزیرمتن** (Vazirmatn) بهصورت محلی
- **بدون نیاز به اینترنت** — تمام فایلها (CSS، JS، Chart.js، آیکونها، فونتها) محلی هستند
- نمودارها با **Chart.js** نسخهٔ محلی
- سیستم آیکونهای SVG داخلی (بدون آیکونفونت)
PHP 8.1 یا بالاتر |
| افزونههای PHP | `pdo_mysql`, `mbstring` (الزام)؛ `gd` و `intl` (پیشنهاد — در صورت نبودن، کپچا به SVG و تقویم به محاسبهٔ جایگزین سوییچ میکند) |
| MariaDB / MySQL | ۵.۷ یا بالاتر |
| فضای دیسک | حدود ۲۰ مگابایت |