تفاصيل العمل

يُعد TaskFlow تطبيقاً متكاملاً (Full-stack) لإدارة المشاريع بنظام "كانبان" (Kanban) يتيح المزامنة الفورية بين عدة مستخدمين؛ وقد طُوِّر ليكون نموذجاً احترافياً للأعمال (Portfolio piece) يعمل تماماً كالمنتجات الحقيقية، إذ يتميز بواجهة مستخدم مصقولة، ونظام مصادقة مدروس، وبنية برمجية متينة ومتقنة الصنع.

نظام مصادقة فعّال — يشمل التسجيل وتسجيل الدخول والتحقق من البريد الإلكتروني باستخدام رموز تُستخدم لمرة واحدة (OTP). هذه الرموز صالحة لفترة محدودة وتُخزّن بصيغة مُعمّاة (hashed)، كما أن عملية استعادة أو إعادة تعيين كلمة المرور تتم بالكامل عبر البريد الإلكتروني.

هيكلية "المشاريع ← اللوحات ← الأعمدة ← المهام" — نظام "كانبان" (Kanban) متكامل يتيح إعادة ترتيب العناصر ونقلها بين الأعمدة باستخدام تقنية السحب والإفلات (عبر Angular CDK).

التعاون الجماعي — يمكن لمالكي المشاريع دعوة أعضاء الفريق عبر البريد الإلكتروني؛ وتعمل الدعوات حتى مع الأشخاص الذين لا يملكون حساباً مسبقاً (حيث يُطلب منهم إنشاء حساب عند قبول الدعوة).

التعليقات والتصنيفات — مناقشات خاصة بكل مهمة (يمكن تعديلها فقط من قِبَل كاتب التعليق) وتصنيفات ملونة تدعم علاقات متعدد-إلى-متعدد (many-to-many).

المزامنة الفورية — تستخدم التقنية SignalR لإرسال تحديثات اللوحة فوراً إلى جميع المستخدمين الذين يشاهدونها؛ لا حاجة لعمليات الاستعلام الدوري (polling) أو التحديث اليدوي للصفحة: بمجرد فتح نافذتين للمتصفح ونقل بطاقة في إحداهما، ستراها تتحرك في الأخرى تلقائياً.

صلاحيات تعتمد على الأدوار — يمتلك المالكون صلاحية إعادة تسمية أو حذف المشاريع واللوحات وإدارة العضوية؛ بينما يمكن للأعضاء إنشاء وتعديل اللوحات والمهام والتعليقات والتصنيفات، مع قصر صلاحية تعديل التعليقات على كاتبها فقط.

لوحة التحكم (Dashboard) — واجهة رئيسية تعرض لمحة سريعة عن مشاريعك والدعوات المعلقة والأنشطة الأخيرة، بالإضافة إلى صفحة مخصصة لخطأ "404" ونظام توجيه خاص بالزوار (guest routing).

الطبقة التقنية

الواجهة الخلفية (Backend) ASP DotNET Core 10, EF Core 10, ASP DotNET Identity, SignalR, MailKit

الواجهة الأمامية (Frontend) Angular 22, Angular CDK, Angular Material, signals + Signal Forms

قاعدة البيانات PostgreSQL (Neon، مُدارة)

المصادقة (Auth) JWT bearer + رمز OTP عبر البريد الإلكتروني (مشفر بـ SHA-256، للاستخدام مرة واحدة، صلاحية 5 دقائق)

الاستضافة Cloudflare Pages (لتطبيق SPA)، Monster ASP DotNET Windows (لواجهة API)

البريد الإلكتروني Gmail SMTP

بطاقة العمل