SAIR:- ما وراء الحدود (تطبيق الويب الكامل)
جدول المحتويات
- نظرة عامة على المشروع
- التقنيات والحزم المستخدمة
- الميزات الرئيسية
- كيفية التثبيت
- التحديات والحلول
- مؤلف
- رابط المشروع
نظرة عامة على المشروع
SAIR هو تطبيق ويب مصمم لتسهيل تخطيط السفر واستئجار أماكن الإقامة. إنه يعزز JavaScript و EJS و CSS لتزويد المستخدمين بتجربة سلسة لحجز السفر والسكن. يحتوي مستودع المشروع على جميع الملفات والموارد اللازمة لنشر التطبيق ، بهدف تقديم حل شامل للمسافرين الذين يبحثون عن خيارات إقامة مريحة وفعالة.
التقنيات والحزم المستخدمة
الخلفية
- MongoDB : قاعدة بيانات NOSQL لتخزين البيانات المرنة والقابلة للتطوير.
- Express.js : إطار تطبيق الويب لـ Node.js ، مما يوفر ميزات قوية لتطبيقات الويب والجوال.
- Node.js : JavaScript وقت التشغيل لتطوير جانب الخادم.
المصادقة
- Passport.js : الوسيطة لمصادقة المستخدم ، ودعم استراتيجيات مختلفة.
- DOTENV : إدارة متغير البيئة لتكوين آمن.
تخزين الصور
- Clourinary : حل إدارة الصور والفيديو المستند إلى مجموعة النظراء.
خرائط
- MAPBOX : منصة للخرائط المخصصة والخبرات القائمة على الموقع.
الواجهة
- EJS : قوالب JavaScript المضمنة لتقديم المحتوى الديناميكي.
إدارة الجلسة
- قم بتوصيل الفلاش : الوسيطة لرسائل الفلاش.
- Connect Mongo : Mongodb Session Store لـ Express.js.
- كوكي محلل : الوسيطة لتحليل ملفات تعريف الارتباط.
تصديق
- JOI : مكتبة للتحقق من صحة البيانات.
نمذجة الكائن
- Mongoose : نمذجة كائن MongoDB لـ Node.js.
تحميل الملفات
- Multer : الوسيطة للتعامل مع تحميل الملفات.
المصادقة الاجتماعية
- جواز السفر المحلي : استراتيجية المصادقة المحلية.
- جواز السفر المحلي mongoose : استراتيجية المصادقة الخاصة بالمونغوز. المصادقة
الميزات الرئيسية
- مصادقة المستخدم: قسم تسجيل الدخول ، تسجيل الدخول ، وقسم ملف تعريف المستخدم
- عمليات CRUD: إضافة وتحرير وحذف القوائم
- نظام المراجعة: إضافة وحذف المراجعات
- إدارة الحساب: تحديث حساب المستخدم وكلمة المرور
- أمان بيانات المستخدم: تجزئة كلمة المرور والتشفير
- الخرائط التفاعلية: الاستفادة من MapBox لتصور الموقع
- تسجيل الدخول بالبريد الإلكتروني: تسجيل الدخول إلى البريد الإلكتروني التقليدي لراحة المستخدم
كيفية التثبيت
اتبع هذه الخطوات لإعداد وتشغيل المشروع محليًا:
استنساخ المستودع:
git clone https://github.com/akashdeep023/Airbnb_Project.git
cd Airbnb_Project
تثبيت التبعيات:
إعداد متغيرات البيئة:
قم بتكوين متغيرات البيئة التالية عن طريق إنشاء ملف .env في جذر مشروعك:
مثال :-
# https://cloudinary.com/ (Cloudinary) (Change key)
CLOUD_NAME=kjkdmckdhjks
CLOUD_API_KEY=89340593499490394
CLOUD_API_SECRET=jdskLKJlklkdlsdfkKKdsdkkd
# https://www.mapbox.com/ (Mapbox)
MAP_TOKEN=pk.eyJ1IjoiZGVsdGEtc3R1ZHVlbnQiLCJhIjoiY2xvMDk0MTVhMTJ3ZDJrcGR5ZDFkaHl4ciJ9.Gj2VU1wvxc7rFVt5E4KLOQ
# https://www.mongodb.com/ (MongoDb Atlas) (Change key)
ATLASDB_URL=mongodb+srv://demo:[email protected]/ ? retryWrites=true & w=majority
# Add Random Secret Key
SECRET=ckcdenlksufoifafknddsoiddfkadsfafd
استبدل القيم بتكويناتك المحددة.
تشغيل التطبيق:
افتح في متصفحك:
افتح http://localhost:8080/listings في متصفح الويب الخاص بك.
التحديات والحلول
واجهت تحديات ، خاصة مع معالجة البيانات ، ولكنها نفذت حلولًا فعالة. تجاوزت قضايا التوسع مع الواجهة الخلفية التي تم تحديدها جيدًا.
مؤلف
Live Website Link Sair - ما وراء الحدود
شكرا للزيارة ...