تفاصيل العمل

مدونتي — تطبيق ويب باستخدام Django (My Blog)

هي منصة تدوين متكاملة (Full-stack) تم بناؤها باستخدام إطار العمل Django 5.2 (Python) بالاعتماد على معمارية MVT (Model-View-Template) التقليدية، حيث يتم معالجة وعرض صفحات الـ HTML بالكامل من جهة الخادم (Server-rendered)، مع استخدام قاعدة بيانات SQLite.

الميزات الرئيسية:

نظام مصادقة المستخدمين (User Authentication): واجهات مخصصة للتسجيل وتسجيل الدخول/الخروج مبنية فوق نظام الحماية الافتراضي في Django، مع نموذج تسجيل مخصص يمتد من (UserCreationForm) ليشمل (اسم المستخدم، البريد الإلكتروني، وكلمة المرور).

إدارة كاملة للمقالات (Blog post CRUD): دعم كامل لعمليات الإنشاء، القراءة، التحديث، والحذف للمقالات، بما في ذلك صفحة لعرض قائمة المقالات، صفحة تفاصيل المقال، وصفحة لتأكيد الحذف.

صلاحيات مبنية على الملكية (Authorization): تقييد عمليات التعديل والحذف باستخدام الـ decorator ‏(@login_required) وحصرها على الكاتب فقط (author=request.user)، مما يضمن أن المستخدمين يمكنهم تعديل مقالاتهم الخاصة فقط.

نموذج بيانات علاقي (Relational Data Model): ربط المقالات بنموذج المستخدمين (User model) الخاص بـ Django عبر علاقة مفتاح أجنبي (ForeignKey) مع تحديد related_name='posts'، بالإضافة إلى تسجيل تلقائي للطوابع الزمنية لتاريخ الإنشاء والتحديث.

نظام رسائل Django (Messages framework): تقديم إشعارات فورية للمستخدمين (رسائل نجاح أو خطأ) لتوضيح حالة الإجراءات مثل تسجيل الدخول، إنشاء حساب جديد، أو إضافة وحذف المقالات.

وراثة القوالب (Template Inheritance): استخدام تخطيط أساسي مشترك (base.html) ترث منه القوالب الخاصة بتطبيقي المدونة والحسابات، مع استخدام ملفات CSS مخصصة بدون الاعتماد على أي إطارات عمل للواجهات الأمامية.

هيكلة المشروع القائمة على التطبيقات (App-based): تنظيم المشروع إلى تطبيقين منفصلين داخل Django هما (blog و account)، بحيث يمتلك كل تطبيق روابط الـ URLs، والـ views، والـ forms، والقوالب الخاصة به، اتباعاً لأفضل الممارسات لضمان تصميم برمجي مجزأ ومنظم (Modular design).

التقنيات المستخدمة (Tech stack):

Python

Django

SQLite

HTML / CSS

Django ORM

Django Forms & Auth

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات