⚡
التحديات
- الحاجة إلى نظام مصادقة آمن بخطوتين تحقق (البريد الإلكتروني + مُصادق Google)
- إدارة مستويات وصول متعددة للمديرين
- تنفيذ نظام KYC مع صورة بطاقة الهوية الوطنية والتحقق من الهوية
- إدارة معاملات العملات الرقمية مع دعم بلاکچینات مختلفة
- الحاجة إلى واجهة API للتواصل مع الخدمات الخارجية
- إنشاء رمز QR لإعداد مُصادق Google
- إرسال بريد إلكتروني آمن باستخدام Gmail SMTP وكلمة مرور التطبيق
- إدارة المديرين والعملاء والمعاملات المالية في وقت واحد
💡
الحلول
- استخدام django-otp و django-two-factor-auth لتنفيذ 2FA
- تنفيذ TOTPDevice لتخزين مفاتيح مُصادق Google
- إنشاء رمز QR باستخدام مكتبة qrcode وعرضه بـ base64
- استخدام django.contrib.auth للمصادقة الأساسية
- تصميم نموذج User مخصص مع حقول KYC والوصول
- تنفيذ API باستخدام DRF و permission_classes للأمان
- استخدام Gmail SMTP مع كلمة مرور التطبيق لإرسال البريد الإلكتروني
- تنفيذ serializer لتحويل النماذج إلى JSON
- استخدام OTPMiddleware لفرض التحقق من 2FA
- تصميم لوحة إدارة مخصصة باستخدام jQuery و AJAX
📚
الإنجازات
- نظام إدارة مالية كامل بأمان عالٍ
- مصادقة ثنائية العوامل مع البريد الإلكتروني ومُصادق Google
- إدارة وصول متعددة المستويات للمديرين
- نظام KYC كامل للتحقق من هوية العملاء
- إدارة معاملات العملات الرقمية
- واجهة API قوية للتطويرات المستقبلية
- لوحة إدارة مخصصة وسهلة الاستخدام
- إرسال بريد إلكتروني آمن واحترافي
🔧
النقاط الفنية البارزة
- Django 5.2.5 و Python 3
- قاعدة بيانات MySQL مع pymysql
- django-otp و django-two-factor-auth لـ 2FA
- pyotp لتوليد TOTP
- qrcode و pypng لإنشاء رمز QR
- Django REST Framework 3.16 لواجهة API
- Pillow لمعالجة الصور
- نظام CustomUser مع حقول KYC والأمان
- استخدام OTPMiddleware
- مُصادق Google للمصادقة الثانية
- إرسال البريد الإلكتروني مع Gmail SMTP + كلمة مرور التطبيق
- التحقق من رمز 6 أرقام عبر البريد الإلكتروني
- إدارة بلاکچین متعددة (BEP20، TRC20، Polygon)
- مستويات وصول مختلفة للمديرين
🏗️
الهندسة المعمارية
تم بناء فوتشيس فاينانس على معمارية MVT (Model-View-Template) في دجانغو ويتكون من تطبيقين رئيسيين:
1. users: مسؤول عن إدارة المستخدمين والمصادقة ولوحة الإدارة
- نموذج User مخصص مع حقول KYC والوصول والأمان
- عروض login_admin و enable_totp في المشروع الرئيسي
- عروض admin_manager و add_admin و alluser و user_information
- عروض deposite و witheraw لإدارة المعاملات
- نقاط نهاية API لـ customer_list و customer_checkin
- serializer لتحويل User إلى JSON
- permissions للتحكم في الوصول
2. web: مسؤول عن إدارة صفحات الهبوط
- نموذج Lp لتخزين معلومات صفحة الهبوط
- إمكانية إضافة الاسم والنقاط والشعار والوصف
ملف views.py الرئيسي يتضمن:
- login_admin: تسجيل دخول ثلاثي المراحل (البريد/الرمز، OTP، 2FA)
- enable_totp: إعداد مُصادق Google مع رمز QR
يعمل المشروع في وضع DEBUG ويستخدم SQLite للتطوير و MySQL للإنتاج.
📐
نطاق المشروع
- تطبيقان رئيسيان (users, web)
- 2 نماذج بيانات رئيسية (User, Lp)
- نظام مصادقة ثلاثي المراحل
- لوحة إدارة مخصصة
- نظام KYC كامل
- واجهة API مع DRF
- إدارة معاملات العملات الرقمية
- دعم 3 بلاکچینات (BEP20، TRC20، Polygon)
- 3 مستويات وصول للمديرين
- مُصادق Google + بريد إلكتروني 2FA