
حول هذا المشروع
نظرة عامة
TavernKeeper تطبيق ويب لمجموعات D&D المتحلقة حول الطاولة. اللاعبون ينشئون شخصياتهم عبر مرشد من 6 خطوات، أسياد اللعبة يديرون حملاتهم بفصول وأحداث، وعندما يُختم فصل، Llama 3.3 70B عبر Groq يولّد سجلًا سرديًا يُدفع إلى يوميات كل لاعب الشخصية. مصمم لمجموعتي ولآخرين يلعبون حول طاولة حقيقية — لا محاكاة قتال، لا رمي نرد (إلا إذا شئت)، ولا أدوات طاولة افتراضية. الفكرة الجوهرية: التطبيق يتذكر ليتسنى للاعبين أن يلعبوا.
الخيارات التقنية: monorepo بـ Express + React + Vite، SQLite (node:sqlite محليًا، better-sqlite3 على Railway) بدل Postgres لأن الحجم لا يبرره بعد، bcryptjs بدل bcrypt الأصلي لتجنب أدوات بناء Windows، vite-plugin-pwa لتثبيت النسخة المحمولة.
بنيته لأن مشكلة « لا أتذكر ماذا حدث في الجلسة السابقة » كانت حقيقية في مجموعتي، وكل أداة قائمة إما تحاول استبدال الطاولة المادية أو تغرقك بالميزات.
الميزات الرئيسية
ما يقوم به
مبني باستخدام
التقنيات
ما كنت سأفعله بشكل مختلف
بعد التأمل
سأختار Postgres من اليوم الأول — ترحيل SQLite دين سأدفعه لاحقًا. وسأتجاوز مصادقة الـ tokens الابتدائية لأذهب مباشرة إلى كلمات المرور؛ مسار الترحيل التدريجي كلّف من التعقيد أكثر مما وفّره.