An open API service indexing awesome lists of open source software.

https://github.com/nermeenkamal/keyboard

Using Vibe Coding - Cursor
https://github.com/nermeenkamal/keyboard

app cursor ios swift vibe-coding

Last synced: 2 months ago
JSON representation

Using Vibe Coding - Cursor

Awesome Lists containing this project

README

          

# كيبورد تحدي الحروف (Harf Challenge Keyboard)

## 🚀 طريقة تشغيل التطبيق على iOS Simulator

1. افتح مجلد المشروع في Xcode.
2. اختر Scheme باسم HarfChallengeKeyboardApp.
3. اختر جهاز المحاكي (مثلاً: iPhone 14 أو أي جهاز متاح).
4. اضغط زر التشغيل ▶️ (Run) في Xcode.
5. سيعمل التطبيق مباشرة على المحاكي دون الحاجة لأي حساب Apple Developer أو توقيع.

لوحة مفاتيح تفاعلية لألعاب ثقافية جماعية مستوحاة من برنامج "حروف"، موجهة للاستخدام داخل قروبات واتساب وتيليجرام.

## المميزات

### 🎮 تجربة المشرف
- **إدارة اللعبة من الكيبورد**: لا حاجة لتطبيق خارجي أو تخزين بيانات
- **أسئلة تفاعلية**: أسئلة ثقافية متنوعة لكل حرف عربي
- **شبكة سداسية**: تصميم جذاب للحروف العربية
- **مؤقت زمني**: تحكم في وقت الإجابة
- **أزرار الفرق**: الفريق الأخضر والأحمر

### 🎨 الهوية البصرية
- **الألوان الرئيسية**:
- الأخضر: `#00C97B` (GreenTeam)
- الأحمر: `#FF4C4C` (RedTeam)
- الأزرق: `#1E90FF` (QuestionBlue/MainBlue)
- الخلفية: `#F6F6F6` (KeyboardBG)
- النص: `#222222` (MainText)
- **الخطوط**: Tajawal (عربي أنيق)
- **التصميم**: واجهة عربية بالكامل مع دعم RTL

### 📱 التوافق
- **iOS 14+**: دعم كامل لأحدث إصدارات iOS
- **لوحة المفاتيح**: تطبيق منفصل مع وصول كامل
- **بدون إنترنت**: جميع الأسئلة محلية في ملف JSON

## البنية التقنية

### 📁 هيكل المشروع
```
Keyboard/
├── HarfChallengeKeyboardApp/ # التطبيق الرئيسي (Dummy App)
│ ├── Views/ # شاشات SwiftUI
│ ├── ViewModels/ # نماذج البيانات
│ ├── Models/ # نماذج البيانات
│ └── Assets.xcassets/ # الأصول البصرية
├── HarfKeyboard/ # لوحة المفاتيح
│ ├── GameViewController.swift # واجهة اللعبة الرئيسية
│ ├── HexGridView.swift # شبكة الحروف السداسية
│ ├── QuestionManager.swift # إدارة الأسئلة
│ └── assets/ # ملفات الأصول
└── project.yml # إعدادات XcodeGen
```

### 🛠 التقنيات المستخدمة
- **SwiftUI**: واجهات التطبيق الرئيسي
- **UIKit**: واجهات لوحة المفاتيح
- **XcodeGen**: إدارة المشروع
- **Codemagic**: البناء والتوزيع

## التثبيت والتشغيل

### متطلبات النظام
- Xcode 14.0+
- iOS 14.0+
- Swift 5.7+

### خطوات التثبيت
1. **استنساخ المشروع**:
```bash
git clone [repository-url]
cd Keyboard
```

2. **تثبيت XcodeGen** (إذا لم يكن مثبتاً):
```bash
brew install xcodegen
```

3. **إنشاء مشروع Xcode**:
```bash
xcodegen generate
```

4. **إضافة خط Tajawal**:
- اتبع التعليمات في `FONT_SETUP.md`
- أضف ملفات الخط إلى كل من التطبيق الرئيسي ولوحة المفاتيح

5. **فتح المشروع في Xcode**:
```bash
open HarfChallengeKeyboard.xcodeproj
```

### إعداد لوحة المفاتيح
1. شغل التطبيق على الجهاز
2. اذهب إلى Settings > General > Keyboard > Keyboards
3. أضف "HarfKeyboard" إلى لوحات المفاتيح
4. فعّل "Allow Full Access" للوصول الكامل

## البناء والتوزيع

### Codemagic CI/CD
المشروع مُعد للبناء التلقائي على Codemagic:

```yaml
# codemagic.yaml
workflows:
ios-workflow:
name: iOS Workflow
environment:
xcode: latest
cocoapods: default
scripts:
- name: Build iOS app
script: |
xcodebuild -project HarfChallengeKeyboard.xcodeproj \
-scheme HarfKeyboard \
-configuration Release \
-destination 'platform=iOS Simulator,name=iPhone 14' \
build
```

### Appetize.io
- **ملف .app**: للتطبيق الرئيسي
- **ملف .appex**: للوحة المفاتيح
- **اختبار تفاعلي**: في المتصفح

## الاستخدام

### للمشرف (Admin)
1. **تفعيل الكيبورد**: في أي تطبيق محادثة
2. **بدء اللعبة**: اضغط على "بدء اللعبة"
3. **اختيار الحرف**: اضغط على أي حرف في الشبكة السداسية
4. **قراءة السؤال**: سيظهر السؤال في حقل الكتابة
5. **إدارة الفرق**: استخدم أزرار الفريق الأخضر/الأحمر
6. **نسخ السؤال**: اضغط على السؤال لنسخه للقروب

### للاعبين
- **قراءة السؤال**: من القروب
- **الإجابة**: كتابة الإجابة في القروب
- **التصويت**: للمشرف لتحديد الإجابة الصحيحة

## التخصيص

### إضافة أسئلة جديدة
```json
// HarfKeyboard/assets/questions.json
[
{
"letter": "ا",
"question": "ما اسم عاصمة المملكة العربية السعودية؟"
}
]
```

### تغيير الألوان
```swift
// في أي ملف SwiftUI
.foregroundColor(Color("MainBlue"))
.background(Color("GreenTeam"))
```

### تعديل الخطوط
```swift
// استخدام خط Tajawal
.font(.tajawal(size: 20, weight: .bold))
```

## المساهمة

### إرشادات التطوير
1. **التسمية**: استخدم أسماء عربية واضحة
2. **التعليقات**: اكتب التعليقات بالعربية
3. **التصميم**: التزم بالهوية البصرية
4. **الاختبار**: اختبر على أجهزة مختلفة

### إضافة ميزات جديدة
1. **إنشاء Issue**: وصف الميزة المطلوبة
2. **تطوير الميزة**: اتبع معايير الكود
3. **اختبار شامل**: تأكد من عدم كسر الميزات الموجودة
4. **إنشاء Pull Request**: مع وصف مفصل

## الترخيص

هذا المشروع مرخص تحت رخصة MIT. راجع ملف `LICENSE` للتفاصيل.

## الدعم

### المشاكل المعروفة
- **خط Tajawal**: تأكد من إضافة ملفات الخط بشكل صحيح
- **البناء**: قد تحتاج لتنظيف المشروع عند تغيير الخطوط
- **التوزيع**: تأكد من تضمين كل الأصول في الـ Bundle

### الحصول على المساعدة
- **Issues**: للإبلاغ عن المشاكل
- **Discussions**: للمناقشات والأسئلة
- **Wiki**: للوثائق التفصيلية

---

**تم التطوير بـ ❤️ للعالم العربي**