القاعدة
يُلقي الحاسوبُ بيتًا، ويُجاب ببيتٍ آخرَ من الديوان يبدأ برويِّ الأوّل: الحرفِ الذي تُبنى عليه القافية، لا آخرِ حرفٍ مكتوب. الحكمُ على مذهب القدماء، ولا يُقبل القريب.
ما فيه
القراءة
تصفّحٌ بالعصر والبحر والغرض والرويّ. ديوانُ كلِّ شاعر. والقصيدةُ صفحةً كما تُطبع، أو في وضع قراءةٍ تنزوي فيه الأدواتُ كلُّها.
البحث
FTS5 على ثلاثة ملايين بيت، بمُطبِّعٍ عربيٍّ واحد: يُصيب النصَّ بتشكيلٍ وبغيره، وبأيّ ألف.
المساجلة
ضدّ الديوان، بعدٍّ ووقت، وتُضيَّق بعصرٍ أو بحرٍ أو شاعر. أو ضدّ صديقٍ في غرفة، والحكمُ عند الخادم لا عند اللاعب.
الحفظ
المختاراتُ قائمةٌ في المتصفّح بلا حساب. والدواوينُ رفوفٌ مُسمّاةٌ مرتَّبةٌ على حساب، تُشارَك وتُلعب فيها المساجلة.
التحفيظ
تمرينٌ على القصيدة حتى تثبت، وعدٌّ لما صار يُجاب عليه من الحروف.
على الهاتف
بناءُ أندرويد من المصدر نفسه، أصولُه محزومةٌ فيفتح بلا شبكة.
صور




المتن
الأبياتُ من arbml/ashaar. تُدخَل في مِعلَمٍ واحدٍ من SQLite للقراءة فقط، ولا يُعاد نشرُها: يُبنى المِعلَم محلّيًّا في نحو ثلاث دقائق.
| المقروء | 254,630 قصيدة |
|---|---|
| المحذوف | 15,891 قصيدة مكرّرة، و6 قصائد بلا أبيات |
| الباقي | 238,733 قصيدة · 3,369,701 بيتًا · 6,941 شاعرًا |
| الصالح للمساجلة | 1,713,459 بيتًا — له شطران ورويٌّ يُستخرج |
| بلا بحر | 39.8% من القصائد |
التشغيل
يلزم Node 24 فما فوق.
git clone https://github.com/ZahakJ/qarid && cd qarid
npm install
cp .env.example .env # اضبط PUBLIC_ORIGIN
npm run ingest:fetch # arbml/ashaar → data/raw/
npm run ingest # data/qarid.db، نحو 3 دقائق
npm run dev:server & npm run dev # http://127.0.0.1:5751
بلا متن: npm run ingest:fixture يبني عيّنةً صغيرة.
في الإنتاج يربط الخادمُ على loopback وحده ويقدّم العميلَ المبنيَّ بنفسه؛ يُوضع أمامه
وكيلٌ أو نفقٌ للـTLS. وdeploy/qarid.service وحدةُ systemd للمستخدم.
الفحوص:
npm run typecheck && npm test && npm run build && npm run smoke
البناء
| المتن | مِعلَمُ SQLite واحدٌ للقراءة فقط، بفهرس FTS5. |
|---|---|
| الخادم | Hono على node:sqlite، يُشغَّل TypeScript مباشرةً بلا بناء. |
| العميل | Vite وReact، توجيهٌ بالكسر، من اليمين إلى اليسار. أميري للشعر، وعارف رقعة للعناوين. |
| المشترك | مُطبِّعٌ عربيٌّ واحد، ومنسِّقُ أعدادٍ واحد، ومولِّدٌ عشوائيٌّ مبذور، ومخطّطاتُ zod مرجعًا لكلِّ ما على السلك. |
الرخصة
AGPL-3.0-or-later. من شغّل نسخةً معدَّلةً خدمةً على الشبكة فعليه أن يتيح مصدرَها. المتنُ على شروط أصحابه، والخطوطُ OFL.