عن المشروع

Ultros هو تطبيق ويب مفتوح المصدر يوفر تحليلات مباشرة للوحة السوق في Final Fantasy XIV. يتم استضافته على ultros.app ويغطي جميع مراكز البيانات، مع وجود قسم مساعدة داخل التطبيق يشرح كل ميزة. ما يقدمه التطبيق - Flip Finder: يقوم بمسح كل عالم في مركز البيانات للبحث عن العناصر التي يمكن شراؤها بسعر رخيص وإعادة بيعها في العالم الرئيسي، مع عرض الربح اليومي، وسرعة البيع، والانحراف، ودرجة الثقة. - صفحات العناصر: قوائم مباشرة عبر العوالم، ومخططات لسجل المبيعات، و"السعر الحقيقي" المصفى من القيم الشاذة، ومعلومات المصدر من البائعين أو التبادل للعناصر القابلة للتسويق. - محللات تهدف إلى جني الـ gil: أرباح صناعة الوصفات (تكلفة المكونات مقابل سعر البيع، مع تكرار الصناعات الفرعية)، وتسليم مهام levequest، ومغامرات retainer، وإنفاق scrip، وإعادة بيع البائعين، وصناعة Free Company. - اتجاهات السوق: العناصر الأكثر تحركاً خلال 24 ساعة، والنشاط حسب الفئة، والعناصر الصاعدة والهابطة لكل عالم. - تبادل العملات: العناصر القابلة للتسويق التي يمكن شراؤها باستخدام tomestones و scrips و seals وعملات أخرى داخل اللعبة. - القوائم: قوائم تسوق قابلة للمشاركة مع البحث عن أرخص القوائم. - تتبع Retainer: مراقبة قوائمك وتلقي إشعارات عند خفض سعرك (undercut). - تنبيهات الأسعار: حدود سعرية لكل عنصر يتم إرسالها عبر رسائل Discord الخاصة أو webhook. - بوت Discord: البحث في السوق وتنبيهات خفض الأسعار داخل الخادم. يصف المؤلف المشروع بأنه هواية تم بناؤها للمتعة من قبل شخص واحد. يعرض التطبيق إعلانات اختيارية فقط لتغطية تكاليف الاستضافة؛ ويمكن تعطيل الإعلانات في الإعدادات، كما أن أدوات حظر الإعلانات تعمل معه. كيفية البناء تعتمد البنية التقنية بالكامل على لغة Rust: إطار عمل Axum للخلفية (backend)، و Leptos للواجهة الأمامية (frontend)، و SeaORM للوصول إلى قاعدة البيانات، و Serenity لبوت Discord. تأتي بيانات السوق من واجهة برمجة تطبيقات Universalis المباشرة (HTTP و WebSocket). ينقسم المستودع إلى crates تشمل الخلفية الرئيسية `ultros` و `ultros-frontend` مع `ultros-app` و `ultros-client` بنظام WASM، و `ultros-db` و `ultros-api-types` و غلاف `universalis` و crates لتوليد بيانات اللعبة (`xiv-gen` و `xiv-gen-db` و `game-data-pack` و `icon-extract`) وأداة `migration`. تشغيله بنفسك تتضمن متطلبات التطوير سلسلة أدوات Rust nightly، و Git LFS لحزم بيانات اللعبة تحت مجلد `data/` ونسخة Postgres تعمل، و cargo-leptos. يمكن تشغيل Postgres محلياً باستخدام Docker، ويوفر ملف `.env` بناءً على `.env.example` بيانات اعتماد Discord OAuth، ومفتاح تشفير ملفات تعريف الارتباط، ورابط قاعدة البيانات، والمنفذ، وإعدادات السجل. يقوم التطبيق بتطبيق ترحيلات قاعدة البيانات وجلب بيانات العالم والمنطقة من Universalis عند التشغيل الأول. يتم شحن بيانات اللعبة (جداول العناصر والوصفات بالإضافة إلى أيقونات العناصر) كحزم تم إنشاؤها مسبقاً وتتبع بواسطة Git LFS وتدمج وقت التجميع؛ وتقوم أداة `game-data-pack` بإعادة توليدها من مستودعات CSV الخاصة بـ ffxiv-datamining المجتمعية، وبالنسبة للأيقونات، من ملفات SqPack الخاصة بتثبيت FFXIV المحلي، مع خيارات لتثبيت الإصدارات أو تخطي الأيقونات أو تحديد مسار غير قياسي للعبة. المساهمات مرحب بها من خلال المشكلات (issues)، أو طلبات السحب (pull requests)، أو خادم Discord الخاص بالمشروع. المشروع مرخص بموجب رخصة MIT، ويشير ملف README إلى أن الكود المصدري قد يكون غير منظم في بعض المواضع.