প্রকল্প সম্পর্কে
Ultros একটি ওপেন-সোর্স ওয়েব অ্যাপ্লিকেশন যা Final Fantasy XIV-এর জন্য লাইভ মার্কেট-বোর্ড অ্যানালিটিক্স প্রদান করে। এটি ultros.app-এ হোস্ট করা হয়েছে এবং প্রতিটি ডেটা সেন্টার কভার করে, যার ভেতরে প্রতিটি ফিচারের ব্যাখ্যাসহ একটি হেল্প সেকশন রয়েছে।
এটি যা অফার করে:
- Flip Finder: একটি ডেটা সেন্টারের প্রতিটি ওয়ার্ল্ড স্ক্যান করে এমন আইটেম খুঁজে বের করে যা সস্তায় কিনে হোম ওয়ার্ল্ডে পুনরায় বিক্রি করা যায়; এটি প্রতিদিনের লাভ, বিক্রির গতি, ড্রিফট এবং কনফিডেন্স স্কোর দেখায়।
- Item pages: লাইভ ক্রস-ওয়ার্ল্ড লিস্টিং, বিক্রির ইতিহাসের চার্ট, আউটলায়ার-ফিল্টার করা "রিয়েল প্রাইস", এবং বাজারযোগ্য আইটেমগুলোর জন্য ভেন্ডর/এক্সচেঞ্জ সোর্স তথ্য।
- গিল-আয়ের কার্যক্রমের জন্য অ্যানালাইজার: রেসিপি ক্রাফটিং প্রফিট (উপাদানের খরচ বনাম বিক্রয় মূল্য, সাবক্রাফট রিকার্সনসহ), লেভকুয়েস্ট টার্ন-ইন, রিটেইনার ভেঞ্চার, স্ক্রিপ স্পেন্ডিং, ভেন্ডর রিসেল এবং ফ্রি কোম্পানি ক্রাফটিং।
- Market Trends: ২৪ ঘণ্টার মুভার্স, ক্যাটাগরি হিট এবং প্রতিটি ওয়ার্ল্ডের ক্রমবর্ধমান/হ্রাসমান আইটেম।
- Currency Exchange: টোমস্টোন, স্ক্রিপ, সিল এবং অন্যান্য ইন-গেম কারেন্সি দিয়ে কেনা যায় এমন বাজারযোগ্য আইটেম।
- Lists: শেয়ারযোগ্য শপিং লিস্ট এবং সবচেয়ে সস্তা লিস্টিং খোঁজার সুবিধা।
- Retainer tracking: আপনার লিস্টিং মনিটর করুন এবং যখন কেউ আপনার দাম কমিয়ে দেবে (undercut) তখন নোটিফিকেশন পান।
- Price alerts: ডিসকর্ড ডিএম বা ওয়েবহুকের মাধ্যমে আইটেম অনুযায়ী প্রাইস থ্রেশহোল্ড অ্যালার্ট।
- Discord bot: সার্ভারের ভেতরে মার্কেট লুকআপ এবং আন্ডারকাট অ্যালার্ট।
প্রকল্পটির লেখক এটিকে একজন ব্যক্তির দ্বারা আনন্দের জন্য তৈরি একটি শখ হিসেবে বর্ণনা করেছেন। হোস্টিং খরচ মেটানোর জন্য এতে ঐচ্ছিক বিজ্ঞাপন চালানো হয়; সেটিংস থেকে বিজ্ঞাপন বন্ধ করা যায় এবং অ্যাড ব্লকার কাজ করে বলে জানানো হয়েছে।
এটি যেভাবে তৈরি করা হয়েছে:
এর স্ট্যাকটি সম্পূর্ণ Rust-ভিত্তিক: ব্যাকএন্ড ওয়েব ফ্রেমওয়ার্কের জন্য Axum, ফুল-স্ট্যাক ওয়েব ফ্রন্টএন্ডের জন্য Leptos, ডেটাবেস অ্যাক্সেসের জন্য SeaORM এবং ডিসকর্ড বটের জন্য Serenity। মার্কেট ডেটা লাইভ Universalis API (HTTP এবং WebSocket) থেকে আসে। রিপোজিটরিটিকে বিভিন্ন ক্রেটে (crates) বিভক্ত করা হয়েছে যার মধ্যে রয়েছে মূল `ultros` ব্যাকএন্ড, `ultros-frontend` (যার সাথে `ultros-app` এবং WASM `ultros-client` আছে), `ultros-db`, `ultros-api-types`, একটি `universalis` র্যাপার, গেম ডেটা জেনারেশন ক্রেট (`xiv-gen`, `xiv-gen-db`, `game-data-pack`, `icon-extract`) এবং একটি `migration` টুল।
নিজে এটি চালানো:
ডেভলপমেন্টের জন্য প্রয়োজনীয় জিনিসের মধ্যে রয়েছে একটি নাইটলি Rust টুলচেইন, `data/` এর অধীনে গেম ডেটা প্যাকের জন্য Git LFS, একটি চলমান Postgres ইনস্ট্যান্স এবং cargo-leptos। ডকার দিয়ে লোকাল Postgres শুরু করা যায় এবং `.env.example`-এর উপর ভিত্তি করে একটি `.env` ফাইল ডিসকর্ড OAuth ক্রেডেনশিয়াল, কুকি এনক্রিপশন কি, ডেটাবেস URL, পোর্ট এবং লগ সেটিংস প্রদান করে। অ্যাপটি প্রথম বুট করার সময় ডেটাবেস মাইগ্রেশন প্রয়োগ করে এবং Universalis থেকে ওয়ার্ল্ড/রিজিয়ন ডেটা সংগ্রহ করে। গেম ডেটা (আইটেম এবং রেসিপি টেবিল এবং আইটেম আইকন) Git LFS দ্বারা ট্র্যাক করা প্রি-জেনারেটেড প্যাক হিসেবে আসে এবং কম্পাইল টাইমে এমবেড করা হয়; একটি `game-data-pack` টুল কমিউনিটি ffxiv-datamining CSV রিপোজিটরি থেকে এবং আইকনের জন্য লোকাল FFXIV ইনস্টলেশনের SqPack ফাইল থেকে সেগুলো পুনরায় তৈরি করে, যেখানে ভার্সন পিন করা, আইকন বাদ দেওয়া বা নন-স্ট্যান্ডার্ড গেম পাথের অপশন রয়েছে।
ইস্যু, পুল রিকোয়েস্ট বা প্রকল্পের ডিসকর্ড সার্ভারের মাধ্যমে অবদান জানাতে উৎসাহিত করা হয়েছে। প্রকল্পটি MIT লাইসেন্সের অধীনে এবং এর README-তে উল্লেখ করা হয়েছে যে কোডবেসটি কিছু জায়গায় অগোছালো হতে পারে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.