منصة تعارف حلال، بستر واحترام
وِفاق تطبيق ويب يساعد الشباب والشابات على التعارف الجاد بقصد الزواج، ضمن ضوابط الستر والاحترام. المتقدم يدخل بكود من الإدارة، يكمل بياناته وإجاباته، ثم يتابع حالة طلبه — تحت إشراف إداري كامل من الاستقبال إلى القرار.
|
🔒 ستر وخصوصية لا صور مكشوفة ولا تواصل مباشر بدون موافقة، كل تفاعل يمر بإشراف. |
🕌 فلترة على أساس التوافق أسئلة مبنية على معايير دينية وأسرية لترشيح التوافق بين الطرفين. |
🤝 إشراف إداري كامل مراجعة الحسابات والتفاعلات لضمان جدية الأعضاء ومنع إساءة الاستخدام. |
| الجزء | التقنيات |
|---|---|
| Backend | Flask · Flask-SQLAlchemy · Flask-CORS · PostgreSQL |
| Frontend | React 18 · React Router · Vite · Tailwind CSS |
wefaq/
├── requirements.txt
│
├── backend/
│ ├── app.py نقطة تشغيل الخادم وتهيئة قاعدة البيانات
│ ├── config.py إعدادات الاتصال والمسارات
│ ├── .env DATABASE_URL · SECRET_KEY · إعدادات SMTP (أنشئه من .env.example)
│ ├── security.py تعقيم المدخلات والتحقق من صحتها
│ ├── utils.py تشفير، توليد أكواد، مزامنة JSON، بريد الترحيب
│ ├── test_system.py اختبار النظام الشامل
│ ├── models/
│ │ ├── db_schemes/ جداول: users, admins, answers, notes, notifications
│ │ └── data/ admins.json · questions.json · users.json
│ ├── routes/ auth · user · admin · matching · notifications
│ ├── services/
│ │ └── matching_service.py منطق ترشيح التوافق بين المتقدمين
│ └── uploads/ صور المستخدمين المرفوعة
│
└── frontend/
├── test_phase3.mjs اختبار تدفق كامل
├── test_onboarding_and_admin.mjs اختبار أول دخول + مزامنة الإداريين
└── src/
├── config.json رابط API + حقول النموذج + خطوات التسجيل
├── components/ Card, Button, ProgressSteps ...
├── pages/ الرئيسية، الدخول، التسجيل، إكمال الطلب، اللوحات
└── services/ استدعاءات API (auth · user · admin · matching)
للتجربة المحلية السريعة يمكن استخدام SQLite المدمجة. للإنتاج استخدم PostgreSQL (محلياً أو عبر Neon/Supabase مثلاً)، ثم:
cd backend
cp .env.example .env # Windows: copy .env.example .envيستخدم التطبيق SQLite تلقائياً في backend/instance/wefaq.db. وللاستخدام الإنتاجي يمكن إضافة DATABASE_URL حقيقي، مع ضبط SECRET_KEY. إعدادات SMTP_* اختيارية — بدونها يتم تخطي إرسال بريد الترحيب بصمت.
cd backend
python -m venv venv
# macOS / Linux
source venv/bin/activate
# Windows PowerShell
.\venv\Scripts\Activate.ps1
# Windows Command Prompt
venv\Scripts\activate.bat
pip install -r requirements.txt
# أو من جذر المشروع: pip install -r ../requirements.txt
python app.py📍 يعمل على http://localhost:5000 وينشئ الجداول وحساب المدير العام تلقائياً في قاعدة SQLite المحلية، أو في قاعدة DATABASE_URL عند ضبطها.
عند ضبط WEFAQ_SEED_DEMO=true في backend/.env، يضيف التطبيق مرة واحدة عشرة مرشحين تجريبيين مع ملفات وإجابات مكتملة: خمسة رجال (DEMO001–DEMO005) وخمس نساء (DEMO006–DEMO010).
نافذة طرفية جديدة، مع بقاء الخادم يعمل
cd frontend
npm install
npm run dev📍 تفتح على http://localhost:5173