Sobre o projeto

Ultros é uma aplicação web de código aberto que fornece análises em tempo real do quadro de mercado para Final Fantasy XIV. Está hospedado em ultros.app e abrange todos os data centers, com uma seção de ajuda no app explicando cada recurso. O que ele oferece - Flip Finder: vasculha todos os mundos de um data center em busca de itens que podem ser comprados barato e revendidos no mundo principal, mostrando lucro por dia, velocidade de venda, drift e pontuação de confiança. - Páginas de itens: listagens em tempo real entre mundos, gráficos de histórico de vendas, um "preço real" com filtro de outliers e informações de fonte de vendedores/trocas para itens comercializáveis. - Analisadores voltados para a geração de gil: lucros de crafting de receitas (custo de ingredientes vs. preço de venda, com recursão de subcraft), entregas de levequests, ventures de retainer, gastos de scrips, revenda de vendedores e crafting de Free Company. - Tendências de Mercado: movimentações em 24 horas, calor por categoria e itens em ascensão/queda por mundo. - Câmbio de Moedas: itens comercializáveis para comprar com tomestones, scrips, seals e outras moedas do jogo. - Listas: listas de compras compartilháveis com buscas pelas listagens mais baratas. - Rastreamento de Retainer: monitore suas listagens e seja notificado quando for superado no preço (undercut). - Alertas de preço: limites de preço por item entregues via DM do Discord ou webhook. - Bot do Discord: consultas de mercado e alertas de undercut dentro de um servidor. O projeto é descrito por seu autor como um hobby construído por diversão por uma única pessoa. Ele exibe anúncios opcionais puramente para cobrir a hospedagem; os anúncios podem ser desativados nas configurações e bloqueadores de anúncios funcionam. Como foi construído A stack é full-stack Rust: Axum para o framework web de backend, Leptos para o frontend web full-stack, SeaORM para acesso ao banco de dados e Serenity para o bot do Discord. Os dados de mercado vêm da API live do Universalis (HTTP e WebSocket). O repositório é dividido em crates, incluindo o backend `ultros` principal, `ultros-frontend` com `ultros-app` e o `ultros-client` em WASM, `ultros-db`, `ultros-api-types`, um wrapper `universalis`, crates de geração de dados do jogo (`xiv-gen`, `xiv-gen-db`, `game-data-pack`, `icon-extract`) e uma ferramenta de `migration`. Executando por conta própria Os pré-requisitos de desenvolvimento incluem um toolchain Rust nightly, Git LFS para os pacotes de dados do jogo em `data/`, uma instância de Postgres em execução e cargo-leptos. Um Postgres local pode ser iniciado com Docker, e um arquivo `.env` baseado no `.env.example` fornece credenciais de OAuth do Discord, uma chave de criptografia de cookie, a URL do banco de dados, porta e configurações de log. O app aplica migrações de banco de dados e busca dados de mundo/região do Universalis na primeira inicialização. Os dados do jogo (tabelas de itens e receitas, além de ícones de itens) são enviados como pacotes pré-gerados rastreados com Git LFS e incorporados no momento da compilação; uma ferramenta `game-data-pack` os regenera a partir dos repositórios CSV da comunidade ffxiv-datamining e, para ícones, a partir dos arquivos SqPack de uma instalação local do FFXIV, com opções para fixar versões, pular ícones ou apontar para um caminho de jogo não padrão. Contribuições são bem-vindas através de issues, pull requests ou no servidor de Discord do projeto. O projeto está licenciado sob MIT e seu README observa que a base de código pode estar um pouco desorganizada em alguns pontos.