GithubHelp home page GithubHelp logo

blooym / marketxiv Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 0.0 446 KB

CLI frontend for FFXIV Universalis' API market data πŸ’°

License: MIT License

Go 90.20% Dockerfile 0.76% Shell 2.54% Makefile 6.50%
cli utility

marketxiv's Introduction

MarketXIV Terminal Example

MarketXIV

Delivery of FFXIV market data to your Command Line

Built With & Powered By

GoLang-Badge Universalis-Badge Universalis-Badge


About

Why?

MarketXIV was created due to a lack of command line tools for getting market data from any FFXIV API. The command line is always super light-weight to keep open and fast to use, making it perfect for getting the necessary information about the market in a short amount of time.

Features

  • πŸ”§ Built-in Updater: All executable updates are handled for you (Manual Installs)
  • πŸ“¦ Lightweight: Uses hardly any system storage or resources.

Installation Methods

Important

The previously available repository at packages.bitsofabyte.dev is deprecated and will not be used for futher updates. Please remove it from your system's repositories, thanks!

Manual Installation

Manually install the binary from the release archives.

Show Steps
  1. Download the newest release for your system/architecture
  2. Extract the tar archive and place it somewhere inside of your $PATH

If you aren't sure on what architecture you need to download, you should try amd64 first as it is the most common.


From Source

Build MarketXIV directly from the source for your system. Only recommended for advanced users that prefer to build from source or contributors.

Show Steps
  1. Make sure you have Go installed on your system and setup properly, alternatively use the Devcontainer setup.
  2. Install GoReleaser if you want to build using the supported buildsystem (Optional unless contributing)
  3. Run make build to build the binary for your system, or make build-all to build for all supported systems. You can optionally use ./build/scripts/upx.sh <file> to compress the binary with UPX (This is done automatically when using make and having GoReleaser installed with SKIP_COMPRESS=false set)
  4. You will find all the binaries in the ./dist directory alongside any other build artifacts.

marketxiv's People

Contributors

blooym avatar actions-user avatar dependabot[bot] avatar goreleaserbot avatar

Stargazers

Andrew Johnson avatar Jan Eisenhuth avatar ζ¬§ηš‡ηˆ±δΈ½δΈ avatar Gamous avatar Natalya Higdon avatar

Watchers

 avatar

marketxiv's Issues

Feature: Use Cobra

Summary

The current implementation of command handling is bad practice and can be improved.

Feature: Check vendor price of MB items and show on listing

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

New feature

Summary of the feature

When searching for an item with the "item" command, if it is available from a vendor then the vendor price should be shown on the listing. This could even change the colour of listings that are above the vendor price.

Why should this be added or changed?

Help prevent people buying overpriced items on the Marketboard (kind of like simpletweaks does)

Other: Increase project security

Summary

This project could do with a few security practices to ensure that no malicious code is distributed, some ways this could be done are:

  • Sign all builds with a key
  • User confirmation on update command
  • Showing the user the source for the update before installing
  • An improved security policy
  • (Possible) Periodic checksum validation in-app

Why should this be added or changed?

Allows the project to be more trustworthy and decrease the likeness of malicious versions being distributed.

Feature: Add filters & limits to Item info

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

Improvement to existing feature

Summary of the feature

Create flags on the marketboard lookup command to expand its functionality

  • -nq, --normalquality: only show low quality items
  • -hq, --highquality: only show high quality items
  • -l, --limit: limit the amount of results shown

Why should this be added or changed?

Allows for users to get information they're more specifically looking for.

CI: Better release CI

Summary

Improve the release CI cycle

Further Information

Right now the automatic releases CI is pretty limited and does not compile for Windows, this can be improved by using a 3rd party release tool for GoLang or by building an internal method for exporting & detecting version files.

Documentation: Add ReadMe

Describe Changes

Add a ReadMe to the project that describes what it does, how to install, and how to use it.

Feature: Configuration Skeleton

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

New feature

Summary of the feature

Add a configuration skeleton setup to MarketXIV to allow for future development on app settings

Why should this be added or changed?

Opens to the door to making behaviour customizable within the app, and allows for some local data caching too.

Feature: In-App Autoupdates

Summary

Add in-app autoupdates so users don't have to download binaries manually every time there is an update, this could either be handled with a --update flag or just done automatically.

Further Information

Blocked by #1

Motivation

Better UX with the tool

Bug: Fix weird line endings

Describe the Bug

Currently the program sometimes uses Println and other times just prints to the same lines and uses a \n instead, this should be tidied across the entire project as it creates unusual output behaviours

Steps to Reproduce

  1. Install MarketXIV under v0.3.1
  2. Run a command line marketxiv item Light 12346348398232398238797289 (invalid ID)
  3. Weird newline operator

Screenshots

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.