العنوان: إدارة المواقع الإلكترونية WEBAPP
الرابط التجريبي: http://52.28.221.30/account/
وصف
في هذا المشروع قمت بتطوير نظام إدارة موقع إلكتروني يمكنك من خلاله القيام بما يلي:
1: التسجيل وتسجيل الدخول واستعادة كلمة المرور.
2: تحميل وتحرير وحذف صور موقع الويب الخاص بك.
3: كتابة وتحرير وحذف معلومات موقع الويب الخاص بك مثل: نبذة عنا، خدماتنا، إلخ.
4: عرض وتحليل إحصائيات الزوار والمستخدمين. 5: API لتسجيل الدخول والاستعلام عن قاعدة البيانات.
اللغات تشمل: PHP، MYSQL (PDO)، Javascript، HTML5 وCSS.
كيفية الاستخدام:
قاعدة البيانات:
ستحتاج إلى XAMPP يعمل بنظام PHP 8+، وتغيير اسم المستخدم وكلمة المرور mysql إلى (adminui,#J4dIg0Mn4PiJm0Ck4#) على التوالي، وتغيير تفاصيل قاعدة البيانات في ملف تكوين phpmyadmin إذا قررت استخدام تفاصيل مختلفة .
اختبار التحقق:
في ملف .env، أنشئ متغير SECRET_KEY وقم بتعيينه إلى google recatcha secrect_key وأيضًا في السطر 8 في account.settings.js، واستبدل site_key بمفتاحك.
SMTP:
في ملف .env، قم بإنشاء متغير SMTP_EMAIL و SMTP_PASS وقم بتعيينه إلى التفاصيل الخاصة بك.
متغير المضيف:
يحتفظ متغير HOST في config.php بالمجال الجذر للجهاز، وقم باستبداله ليطابق النطاق الخاص بك.
متغير مجلد الصورة:
يحتفظ متغير Img_folder في config.php بالمجلد لتخزين الصور، واستبدله ليطابق مجلدك.
متغير MAX REG:
يحتفظ المتغير MAX_REG في config.php بعدد المستخدمين (المسؤولين) الذي تريد السماح به.
تتبع احصائيات الزوار
أضف require_once('includes/tracking.php'); في الجزء العلوي من تسجيل الدخول.php أو أي صفحة/ملف آخر من اختيارك، يمكنك أيضًا تقديم طلب إلى *yourdomain/account/tracking.php لتسجيل زيارة.
الملفات:
التكوين.php :
يتكون هذا الملف من المتغيرات العامة وتهيئة قاعدة البيانات.
وظائف.php :
يوجد في هذا الملف جميع الوظائف المشتركة، ويتطلب وظائف config.php .
الفهرس.php :
هذا هو الحامل الرئيسي لجميع الصفحات، فهو يتنقل بين الصفحات وفقًا لقيمة الإجراء والإجراء الفرعي من معلمات عنوان URL الإجراء والإجراء الفرعي على التوالي، ويتطلب وظائف jobs.php ، ويتضمن/actions.php ، ويتضمن/رأسًا .php ، يشمل/footer.php .
تسجيل الدخول.php :
يحتوي هذا الملف على منطق مصادقة تسجيل الدخول، ويتطلب وظائف jobs.php .
تسجيل الخروج.php :
هذا الملف لتدمير الجلسة وتسجيل الخروج من المستخدم، فهو يتطلب وظائف jobs.php .
برنامج استعادة كلمة المرور.php :
هذا الملف مخصص لاستعادة كلمة المرور، ويتطلب وظائف jobs.php .
تسجيل الدخول.php :
يحتوي هذا الملف على منطق مصادقة التسجيل، ويتطلب وظائف jobs.php .
التتبع.php :
هذا الملف مخصص لتتبع وتسجيل معلومات الزائر من خلال عنوان IP الخاص به، ويتطلب وظائف jobs.php .
api.handledata.php :
يحتوي هذا الملف على جميع منطق معالجة البيانات مثل تحميل البيانات وتحريرها وحذفها، ويتطلب وظائف jobs.php .
شبيبة/account.settings.js :
يحتوي هذا الملف على منطق جافا سكريبت ووظائفه مثل google recaptcha، وإرسال طلبات xml إلى الواجهة الخلفية، وتفاعلات الصفحة، وتسجيل نسبة الاختلاف في إحصائيات المستخدمين والزوار، ويتطلب بعض وظائف include/footer.php .
css/account.style.css :
يحتوي هذا الملف على كافة أنماط هذا البرنامج.
يتضمن/actions.php :
يحتوي هذا الملف على وظائف لترتيب وإظهار HTML للصفحة وبياناتها كما هو محدد بواسطة Index.php ، ويتطلب بعض وظائف jobs.php .
يتضمن/header.php :
يحتوي هذا الملف على وظائف لإظهار رأس الموقع وأجزاءه الرئيسية، ويتطلب بعض وظائف jobs.php ويتضمن/tags.php .
يتضمن/tags.php :
يحتوي هذا الملف على جميع علامات تعريف html وروابط الملفات التي سيتم إضافتها في الجزء الرئيسي من موقع الويب العام، وذلك للسماح للصفحات الفردية بالحصول على عنوان خاص بها.
يشمل/footer.php :
يحتوي هذا الملف على كل جزء التذييل من HTML وبعض جافا سكريبت للموقع العام.
الصور :
يحتوي هذا المجلد على جميع الصور التي تم تحميلها.
بائع :
يحتوي هذا المجلد على بعض ملحقات php مثل التحميل التلقائي والسيمفوني.
Composer.lock & Composer.json :
هذه حزمة PHP لتثبيت الحزم والمكونات الإضافية.
كيفية استخدام واجهة برمجة التطبيقات
تسجيل الدخول
لتسجيل الدخول، عليك أولاً إنشاء حساب على صفحة الويب ثم تقديم البريد الإلكتروني وكلمة المرور كبيانات json، على سبيل المثال {"email": "[email protected]"، "password": "testing12345"}، إرسال طلب نشر انتقل إلى http://52.28.221.30/account/api/login.php وستحصل على رمز مميز ( تنتهي صلاحية الرمز المميز خلال 48 ساعة ). مثال على بيانات const للاستجابة = {"success":true,"message":"تم تسجيل الدخول بنجاح"، "access_token": "ac9e4fd897999fa3419bec77718de76c"}. باستخدام رمز الوصول، يمكنك إجراء عمليات بدائية.
العمليات الخام
هذا الوصول مخصص للمستخدمين الذين قاموا بتسجيل الدخول فقط. لهذا، سيتعين عليك إرسال طلب نشر إلى http://52.28.221.30/account/handledata.php
الرؤوس: لكي تنجح هذه العملية، سيتعين عليك تعيين رأس باستخدام رمز الوصول باعتباره التفويض، على سبيل المثال const HEADERS = {"Content-Type": "application/json"، "Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
نص الطلب: هناك عمليتان رئيسيتان، الصور والنصوص، يجب عليك تقديم بيانات json وفقًا للعملية.
الصور:
بيانات الصورة : بيانات const = {"data": [{"old_name": "example.extension"، "image_name": "example.extension"، "image_blob": "تحتوي على بيانات قاعدة الصورة 64"، "xtension": إلى سيتم تحديده إذا العملية=upload}]،"origin": "api_req"، "type": "image"، "category": "galleries"، "sub_category": "سيتم تحديده (صور الموقع،الوشم،اللوحات)"، "operation": "سيتم تحديدها (تحرير،حذف،رفع)"، "state": "changed"}
النصوص:
البيانات النصية : بيانات const = {"بيانات": سيتم تحديدها،"Origin": "api_req"، "type": "textual"، "category": "about/services"، "sub_category": "سيتم تحديدها" "العملية": "سيتم تحديدها"، "الحالة": "تم التغيير"}
الحصول على البيانات: للحصول على البيانات، أرسل طلب Get إلى http://52.28.221.30/account/api/readdata.php، مع تحديد الإجراء والإجراء الفرعي والصفحة والحد .
على سبيل المثال الطلب : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
على سبيل المثال الاستجابة : {'النجاح': صحيح، 'الصفحة': '0'، 'الحد': '4'، 'total_data_count': 12، 'data_count': 4، 'البيانات': [{'img_url': 'http //127.0.0.1/backend/account/images/site-images/favicon-sm.ico'}، {'img_url': 'http://127.0.0.1/backend/account/images/site-images/favicon-lg.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images /23891556799905703.png'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/youtube-circle-black.png'}]}