ProductPromotion
Logo

Go.Lang

made by https://0x3d.site

GitHub - Gituser143/cryptgo: A terminal application to watch crypto prices!
A terminal application to watch crypto prices! Contribute to Gituser143/cryptgo development by creating an account on GitHub.
Visit Site

GitHub - Gituser143/cryptgo: A terminal application to watch crypto prices!

GitHub - Gituser143/cryptgo: A terminal application to watch crypto prices!

cryptgo

Go Build Go License Check Go Report Card Go Reference Docker Image Version (latest semver) Mentioned in Awesome Go

Latest Stable Version: GitHub tag (latest SemVer)

Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!

logo

Installation

Using Go

go get -u github.com/Gituser143/cryptgo

Using Docker

Running Image

Set VERSION to a specific version for stable builds. Omitting VERSION uses the latest stable version or setting main as version provides the latest (in development) version.

# Pull Image
make docker-pull

# Pull specific version of image
VERSION=v1.1.1 make docker-pull

# Run Image
make docker-run

# Run specific version of image
VERSION=v1.1.1 make docker-run

# Run image with portfolio command
ARG=portfolio make docker-run

# Run image with help command
ARG=help make docker-run

Optionally, an alias can be created for ease of use:

alias cryptgo='docker run -u $(id -u):$(id -g) -v "$HOME:/home/appuser/" --rm -it bhargavsnv/cryptgo'

And run using:

cryptgo [flags]
# or
cryptgo [command]

Building Image locally

# Clone the repository
git clone https://github.com/Gituser143/cryptgo

# Navigate into repository
cd cryptgo

# Build image
make docker-build

# Run image
make docker-run

From Source:

Building requires Go to be installed.

# Clone the repository
git clone https://github.com/Gituser143/cryptgo

# Navigate into repository
cd cryptgo

# Build executable
make build

Make

# See all make targets
make help

What does cryptgo do?

Cryptgo helps you look at cryptocurrency values, details and track your crypto portfolio straight from your terminal!

It makes use of the API provided by CoinCap.io and CoinGecko to provide the required details!

Main Page

main-page

  • Here, the top 3 currencies (as ranked by Market Cap) are displayed with their graphs on top.

  • A table is provided with relevant information about other currencies.

  • cryptgo allows you to keep track of your favourite currencies by adding them to the favourites table.

  • A selected coin (from either the coin table or favourites) can be further inspected in detail.

Key-Bindings

Key-bindings can be found by pressing ?. This displays the help prompt.

  • Quit: q or <C-c>
  • Table Navigation
    • k and <Up>: up
    • j and <Down>: down
    • <C-u>: half page up
    • <C-d>: half page down
    • <C-b>: full page up
    • <C-f>: full page down
    • gg and <Home>: jump to top
    • G and <End>: jump to bottom
    • f: focus favourites table
    • F: focus interval table
  • Searching/Filtering
    • /: Open search box
    • Esc: Clear filter text
  • Sorting
    • Use column number to sort ascending.
    • Use to sort descending.
    • Eg: 1 to sort ascending on 1st Col and F1 for descending
  • Actions (Interval Table)
    • <c>: Select Currency (from popular list)
    • <C>: Select Currency (from full list)
    • e: Add/Edit coin to Portfolio
    • P: View portfolio
    • <s>: Star, save to favourites
    • <S>: UnStar,remove from favourites
    • <Enter>: View Coin Information
    • %: Select Duration for Percentage Change

Coin Page

coin-page

  • The coin page give more in depth details of a particular coin.

  • It can be navigated to from either the favourites or coin table.

  • The price history is displayed on top and can be viewed through different intervals, as provided by the Graph Interval table on the bottom left.

  • A live price is streamed in the price box and additional details are described in the details table.

Key-Bindings

Key-bindings can be found by pressing ?. This displays the help prompt.

  • Quit: q or <C-c>
  • Table Navigation
    • k and <Up>: up
    • j and <Down>: down
    • <C-u>: half page up
    • <C-d>: half page down
    • <C-b>: full page up
    • <C-f>: full page down
    • gg and <Home>: jump to top
    • G and <End>: jump to bottom
    • f: focus favourites table
    • F: focus interval table
  • Sorting
    • Use column number to sort ascending.
    • Use <F-column number> to sort descending.
    • Eg: 1 to sort ascending on 1st Col and F1 for descending
  • Actions (Interval Table)
    • <Enter>: Set Interval
    • <c>: Select Currency (from popular list)
    • <C>: Select Currency (from full list)

Portfolio Page

portfolio-page

  • Cryptgo allows you to track your crypto portfolio through a separately defined page.

  • This page can be accessed with the command cryptgo portfolio.

Key-Bindings

  • Quit: q or <C-c>

  • Table Navigation

    • k and <Up>: up
    • j and <Down>: down
    • <C-u>: half page up
    • <C-d>: half page down
    • <C-b>: full page up
    • <C-f>: full page down
    • gg and <Home>: jump to top
    • G and <End>: jump to bottom
  • Sorting

    • Use column number to sort ascending.
    • Use <F-column number> to sort descending.
    • Eg: 1 to sort ascending on 1st Col and F1 for descending
  • Actions

    • c: Select Currency (from popular list)
    • C: Select Currency (from full list)
    • e: Add/Edit coin to Portfolio
    • <Enter>: View Coin Information

Mini Portfolio

portfolio

  • Cryptgo also allows you to view your holdings through a mini portfolio from other pages.

  • Coins can be added/modified/removed by pressing e on a coin in the main page. (Set Holding Amount as 0 to remove)

  • Holdings can be modified either through the main page or through the portfolio itself. The below image shows the edit box when modifying holdings.

edit-box

Utilities

Currency

Currency need not be fixed to USD $, other currencies can be selected from either the popular currency table (press c) or full currency table (press C).

Popular Currency Table

currency

Full Currency Table

currency-full

Search/Filtering

Coins can be filtered/searched based on an input substring. The search/filter box can be brought up on the main page (press /).

search

Change Percentage Interval

The Change Percentage on the main page can be modified too. A list of durations can be viewed and selected by pressing %, which brings up the below table.

change-duration

Change Graph Duration

The duration of the history graph on the coin page is modifiable. To list the possible durations and select one, press d in the coin page. that will bring up the following table.

history-duration


Contributing

Pull Requests and Issues are welcome!

Please check the issues page to see available issues to work on, or to even create some!


Credits

Multiple Design ideas, utilities, functions and practices have been adopted from:

Do check them out!

Articles
to learn more about the golang concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

Queries
or most google FAQ's about GoLang.

mail [email protected] to add more queries here ๐Ÿ”.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory