Skip to content
hawwari4Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🕌 وِفاق · WEFAQ

Halal Matchmaking Platform

منصة تعارف حلال، بستر واحترام

Python Flask React Vite Tailwind PostgreSQL

نبذة · المميزات · التقنيات · الهيكل · التشغيل ·


📖 نبذة

وِفاق تطبيق ويب يساعد الشباب والشابات على التعارف الجاد بقصد الزواج، ضمن ضوابط الستر والاحترام. المتقدم يدخل بكود من الإدارة، يكمل بياناته وإجاباته، ثم يتابع حالة طلبه — تحت إشراف إداري كامل من الاستقبال إلى القرار.

✨ المميزات

🔒 ستر وخصوصية لا صور مكشوفة ولا تواصل مباشر بدون موافقة، كل تفاعل يمر بإشراف.

🕌 فلترة على أساس التوافق أسئلة مبنية على معايير دينية وأسرية لترشيح التوافق بين الطرفين.

🤝 إشراف إداري كامل مراجعة الحسابات والتفاعلات لضمان جدية الأعضاء ومنع إساءة الاستخدام.

🛠️ التقنيات

الجزء التقنيات
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)

🚀 التشغيل

0. قاعدة البيانات

للتجربة المحلية السريعة يمكن استخدام 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_* اختيارية — بدونها يتم تخطي إرسال بريد الترحيب بصمت.

1. الخادم

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).

2. الواجهة الأمامية

نافذة طرفية جديدة، مع بقاء الخادم يعمل

cd frontend
npm install
npm run dev

📍 تفتح على http://localhost:5173

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages