# حزمة المشاريع المرتبطة بـ«جامعتي» — دليل الرفع

تاريخ البناء: 11 نوفمبر 2026

هذه الحزمة تحتوي ثلاثة مواقع مستقلة تعمل مع منصة «جامعتي» (التي جاءت في الحزمة الأولى):

| المجلد | الموقع | تقنية |
|---|---|---|
| `housing/` | جامعتي سكن — البحث عن سكن وحجزه ومراسلة المالك | React + Vite + خادم Node للرسائل |
| `partners/` | بوابة الشركاء — تسجيل أصحاب السكنات والمكاتب | React + Vite (صفحة واحدة) |
| `market/` | سوق جامعتي — إعلانات مبوبة (بيع/شراء) | HTML واحد + مجلد صور |

كل مجلد يحتوي `site/` (النسخة المبنية جاهزة للرفع) و`source/` (الكود المصدري للتعديل). الاستثناء: `market/` موقع ملف واحد، لذلك الحزمة نفسها هي الموقع.

---

## 1) الرفع السريع — استضافة ملفات ثابتة (هوستنجر)

الثلاثة مبنية بمسار نسبي (`base: './'`) و«جامعتي سكن» تستخدم توجيهًا بالهاش (`#/search`)، لذلك تعمل داخل أي مجلد فرعي **دون أي إعداد إضافي** — لا حاجة إلى `.htaccess` ولا إعادة كتابة مسارات.

انسخ محتويات كل `site/` إلى المجلد الذي تريده، مثلًا:

```
public_html/                 ← الموقع الأم (الحزمة الأولى)
public_html/housing/         ← محتويات housing/site/
public_html/partners/        ← محتويات partners/site/
public_html/market/          ← محتويات market/site/ (index.html + images)
```

ثم افتح `https://jamiatti.com/housing/` وهكذا. البوابة والسوق يعملان بالكامل بهذه الطريقة. أما «جامعتي سكن» فيعمل تصفّحه وحجوزاته محليًا، لكن **الرسائل بين الطالب وصاحب السكن تحتاج الخادم** (البند 2).

## 2) تشغيل خادم رسائل «جامعتي سكن»

الرسائل حقيقية بين طرفين: تُخزَّن في ملف JSON على الخادم، ولا توجد ردود آلية.

```bash
cd housing
node server/server.js          # المنفذ من PORT (الافتراضي 3000)
```

الخادم يقدّم الموقع المبني نفسه إن وُجد مجلد `site/` إلى جانبه، فلا تحتاج خدمة ثانية. متغيّرات اختيارية:

- `PORT` — المنفذ.
- `HOUSING_DIST` — مسار مجلد الموقع المبني.
- `HOUSING_DATA_DIR` — مجلد حفظ البيانات (افتراضيًا `server/data/`).

على هوستنجر: أنشئ تطبيق Node من لوحة التحكم، اجعل ملف التشغيل `server/server.js`، والمجلد الجذري `housing/`. إن لم تتوفر Node، ارفع الموقع كملفات ثابتة واعلم أن زر المراسلة سيعطي خطأ اتصال فقط — بقية الموقع سليم.

## 3) روابط العائلة بين المواقع

كل موقع يشير إلى الآخرين بروابط مكتوبة في ملف واحد فقط. بعد الرفع على نطاقك، عدّلها إلى عناوينك الحقيقية:

- `housing/source/src/lib/links.js` — `MAIN_SITE`، `HOUSING_SITE`، `PARTNERS_SITE`.
- `partners/source/src/lib/site.js` — نفس الثلاثة، مع `WHATSAPP` و`MAIL`.
- `market/site/index.html` — ابحث عن `preview.sana.om` (٣ مواضع) واستبدل بعنوان الموقع الأم.

بعد التعديل أعد البناء (البند 4) وارفع `site/` من جديد.

## 4) إعادة البناء بعد أي تعديل

```bash
cd housing/source
npm install
npm run build          # ينتج client/dist — انسخ محتوياته إلى housing/site/

cd partners/source
npm install
npm run build
```

## 5) ما لم يُضمَّن

- `node_modules` ومخرجات البناء القديمة (يُعاد توليدها).
- بيانات المحادثات الحقيقية (`server/data/chat.json`) — خاصة، ولا تُنقل.
- أي كلمات مرور أو مفاتيح.

## 6) المحتوى التوضيحي

بيانات السكنات والإعلانات في `source/src/data/` ملفات تجريبية (أسماء وأسعار وصور). عدّلها من هناك، أو استبدلها ببيانات حقيقية قبل الإطلاق.
