diff --git a/README.md b/README.md
index 586633ea..0c16eba5 100644
--- a/README.md
+++ b/README.md
@@ -135,3 +135,30 @@ If this framework helped you in any way, or you would like to support the develo
## Binaries
Binaries will be published once the codebase reaches a stable condition.
+
+## Contributor List
+
+|User|Github|Contribution Amount|
+|--|--|--|
+| thrasher- | https://github.com/thrasher- | 413 |
+| gloriousCode | https://github.com/gloriousCode | 113 |
+| shazbert | https://github.com/shazbert | 108 |
+| 140am | https://github.com/140am | 8 |
+| faddat | https://github.com/faddat | 4 |
+| crackcomm | https://github.com/crackcomm | 3 |
+| bretep | https://github.com/bretep | 2 |
+| gam-phon | https://github.com/gam-phon | 2 |
+| cornelk | https://github.com/cornelk | 2 |
+| if1live | https://github.com/if1live | 2 |
+| daniel-cohen | https://github.com/daniel-cohen | 1 |
+| starit | https://github.com/starit | 1 |
+| mattkanwisher | https://github.com/mattkanwisher | 1 |
+| mKurrels | https://github.com/mKurrels | 1 |
+| m1kola | https://github.com/m1kola | 1 |
+| tongxiaofeng | https://github.com/tongxiaofeng | 1 |
+| idealhack | https://github.com/idealhack | 1 |
+| askew- | https://github.com/askew- | 1 |
+| snipesjr | https://github.com/snipesjr | 1 |
+
+
+
diff --git a/common/README.md b/common/README.md
new file mode 100644
index 00000000..18139386
--- /dev/null
+++ b/common/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package common
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/common)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This common package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for common
+
++ This package collates basic broad functions that are used throughout this codebase.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/config/README.md b/config/README.md
new file mode 100644
index 00000000..98095f44
--- /dev/null
+++ b/config/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package config
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/config)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This config package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for config
+
++ This package deals with configuration utilities.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/README.md b/currency/README.md
new file mode 100644
index 00000000..4a992014
--- /dev/null
+++ b/currency/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package currency
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This currency package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for currency
+
++ Currency package deals with currency pair generation, manipulation and tracking.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/pair/README.md b/currency/pair/README.md
new file mode 100644
index 00000000..fac1f4aa
--- /dev/null
+++ b/currency/pair/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package currency pair
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/pair)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This currency pair package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for currency pair
+
++ This package services the currency package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/symbol/README.md b/currency/symbol/README.md
new file mode 100644
index 00000000..9c4caeec
--- /dev/null
+++ b/currency/symbol/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package currency symbol
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/symbol)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This currency symbol package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for currency symbol
+
++ This package services the currency package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/translation/README.md b/currency/translation/README.md
new file mode 100644
index 00000000..47e35fe6
--- /dev/null
+++ b/currency/translation/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package currency translation
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/translation)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This currency translation package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for currency translation
+
++ This package services the currency package with translation functions.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/doc/coding_style.md b/doc/coding_style.md
index 33a8d374..ec7e1956 100644
--- a/doc/coding_style.md
+++ b/doc/coding_style.md
@@ -20,7 +20,6 @@ func SendHTTPRequest(method, path string, headers map[string]string, body io.Rea
}
req, err := http.NewRequest(method, path, body)
-
if err != nil {
return "", err
}
diff --git a/events/README.md b/events/README.md
new file mode 100644
index 00000000..73250d71
--- /dev/null
+++ b/events/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package events
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/events)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This events package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for events
+
++ The events package handles events from GoCryptoTrader bot.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/README.md b/exchanges/README.md
new file mode 100644
index 00000000..f7cac594
--- /dev/null
+++ b/exchanges/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package exchanges
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This exchanges package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for exchanges
+
++ This package is used to connect and query data from supported exchanges.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/nonce/README.md b/exchanges/nonce/README.md
new file mode 100644
index 00000000..c6ee0b60
--- /dev/null
+++ b/exchanges/nonce/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package exchanges nonce
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/nonce)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This exchanges nonce package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for exchanges nonce
+
++ This package services the exchanges package with nonce creation.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/orderbook/README.md b/exchanges/orderbook/README.md
new file mode 100644
index 00000000..a3b20890
--- /dev/null
+++ b/exchanges/orderbook/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package exchanges orderbook
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/orderbook)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This exchanges orderbook package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for exchanges orderbook
+
++ This package facilitates orderbook generation.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/stats/README.md b/exchanges/stats/README.md
new file mode 100644
index 00000000..647c7359
--- /dev/null
+++ b/exchanges/stats/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package exchanges stats
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/stats)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This exchanges stats package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for exchanges stats
+
++ This package services the exchanges package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/ticker/README.md b/exchanges/ticker/README.md
new file mode 100644
index 00000000..ec93b172
--- /dev/null
+++ b/exchanges/ticker/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package exchanges ticker
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/ticker)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This exchanges ticker package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for exchanges ticker
+
++ This services the exchanges package by ticker functions.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/portfolio/README.md b/portfolio/README.md
new file mode 100644
index 00000000..cf6ecf37
--- /dev/null
+++ b/portfolio/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package portfolio
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/portfolio)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This portfolio package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for portfolio
+
++ This package allows for the monitoring of portfolio data.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/smsglobal/README.md b/smsglobal/README.md
new file mode 100644
index 00000000..9c0c6970
--- /dev/null
+++ b/smsglobal/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package smsglobal
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/smsglobal)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This smsglobal package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for smsglobal
+
++ This package allows for the messaging of events to a personal phone number or a group of phone numbers.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/testdata/README.md b/testdata/README.md
new file mode 100644
index 00000000..d1b4f70f
--- /dev/null
+++ b/testdata/README.md
@@ -0,0 +1,45 @@
+# GoCryptoTrader package testdata
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This testdata package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features
+
+This folder contains a configuration test file for non-deployement test params.
+It also has the code coverage test files that allow us to monitor our entire
+codebase, click this link for more information [https://codecov.io/](https://codecov.io/).
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/tools/README.md b/tools/README.md
new file mode 100644
index 00000000..df1a0ab3
--- /dev/null
+++ b/tools/README.md
@@ -0,0 +1,62 @@
+# GoCryptoTrader package tools
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This tools package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features
+
+This folder contains an assortment of tools.
+
++ Configuration
++ Documentation creation
++ Portfolio monitoring
++ Exchange deployment
++ Websocket client
+
+
+Example Run for documentation generation - flags -v Verbose & -r Replace files
+```sh
+cd documentation/
+go run documentation.go -v
+```
+OR for full replacement.
+
+```sh
+cd documentation/
+go run documentation.go -v -r
+```
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/tools/documentation/documentation.go b/tools/documentation/documentation.go
new file mode 100644
index 00000000..449af062
--- /dev/null
+++ b/tools/documentation/documentation.go
@@ -0,0 +1,223 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "html/template"
+ "log"
+ "os"
+ "strings"
+
+ "github.com/thrasher-/gocryptotrader/common"
+)
+
+const (
+ commonPath = "..%s..%scommon%s"
+ configPath = "..%s..%sconfig%s"
+ currencyPath = "..%s..%scurrency%s"
+ currencyPairPath = "..%s..%scurrency%spair%s"
+ currencySymbolPath = "..%s..%scurrency%ssymbol%s"
+ currencyTranslationPath = "..%s..%scurrency%stranslation%s"
+ eventsPath = "..%s..%sevents%s"
+ exchangesPath = "..%s..%sexchanges%s"
+ exchangesNoncePath = "..%s..%sexchanges%snonce%s"
+ exchangesOrderbookPath = "..%s..%sexchanges%sorderbook%s"
+ exchangesStatsPath = "..%s..%sexchanges%sstats%s"
+ exchangesTickerPath = "..%s..%sexchanges%sticker%s"
+ portfolioPath = "..%s..%sportfolio%s"
+ smsglobalPath = "..%s..%ssmsglobal%s"
+ testdataPath = "..%s..%stestdata%s"
+ toolsPath = "..%s..%stools%s"
+ webPath = "..%s..%sweb%s"
+ rootPath = "..%s..%s"
+
+ contributorsList = "https://api.github.com/repos/thrasher-/gocryptotrader/contributors"
+)
+
+var (
+ verbose, replace bool
+ codebasePaths map[string]string
+ codebaseTemplatePath map[string]string
+ codebaseReadme map[string]readme
+ tmpl *template.Template
+ path string
+ contributors []contributor
+)
+
+type readme struct {
+ Name string
+ Contributors []contributor
+ NameURL string
+}
+
+type contributor struct {
+ Login string `json:"login"`
+ URL string `json:"html_url"`
+ Contributions int `json:"contributions"`
+}
+
+func main() {
+
+ flag.BoolVar(&verbose, "v", false, "-v Verbose flag prints more information to the std output")
+ flag.BoolVar(&replace, "r", false, "-r Replace flag generates and replaces all documentation across the code base")
+
+ flag.Parse()
+
+ fmt.Println(`
+ GoCryptoTrader: Exchange documentation tool
+
+ This will update and regenerate documentation for the different packages
+ in GoCryptoTrader.
+`)
+
+ codebasePaths = make(map[string]string)
+ codebaseTemplatePath = make(map[string]string)
+ codebaseReadme = make(map[string]readme)
+ path = common.GetOSPathSlash()
+
+ if err := getContributorList(); err != nil {
+ log.Fatal("GoCryptoTrader: Exchange documentation tool GET error ", err)
+ }
+
+ if err := addTemplates(); err != nil {
+ log.Fatal("GoCryptoTrader: Exchange documentation tool add template error ", err)
+ }
+
+ if err := updateReadme(); err != nil {
+ log.Fatal("GoCryptoTrader: Exchange documentation tool update readme error ", err)
+ }
+
+ fmt.Println("\nTool finished")
+}
+
+// Iterates through codebase paths to check for readme files and either adds
+// or replaces with new readme files.
+func updateReadme() error {
+ addPaths()
+
+ for packageName := range codebasePaths {
+ addReadmeData(packageName)
+
+ if !checkReadme(packageName) {
+ if verbose {
+ fmt.Printf("* %s Readme file FOUND.\n", packageName)
+ }
+ if replace {
+ if verbose {
+ fmt.Println("file replacement")
+ }
+ if err := replaceReadme(packageName); err != nil {
+ return err
+ }
+ continue
+ }
+ continue
+ }
+ if verbose {
+ fmt.Printf("* %s Readme file NOT FOUND.\n", packageName)
+ }
+ if replace {
+ if verbose {
+ log.Println("file creation")
+ }
+ if err := createReadme(packageName); err != nil {
+ return err
+ }
+ continue
+ }
+ }
+ return nil
+}
+
+// Adds paths to different potential README.md files in the codebase
+func addPaths() {
+ codebasePaths["common"] = fmt.Sprintf(commonPath, path, path, path)
+ codebasePaths["config"] = fmt.Sprintf(configPath, path, path, path)
+ codebasePaths["currency"] = fmt.Sprintf(currencyPath, path, path, path)
+ codebasePaths["currency pair"] = fmt.Sprintf(currencyPairPath, path, path, path, path)
+ codebasePaths["currency symbol"] = fmt.Sprintf(currencySymbolPath, path, path, path, path)
+ codebasePaths["currency translation"] = fmt.Sprintf(currencyTranslationPath, path, path, path, path)
+ codebasePaths["events"] = fmt.Sprintf(eventsPath, path, path, path)
+ codebasePaths["exchanges"] = fmt.Sprintf(exchangesPath, path, path, path)
+ codebasePaths["exchanges nonce"] = fmt.Sprintf(exchangesNoncePath, path, path, path, path)
+ codebasePaths["exchanges orderbook"] = fmt.Sprintf(exchangesOrderbookPath, path, path, path, path)
+ codebasePaths["exchanges stats"] = fmt.Sprintf(exchangesStatsPath, path, path, path, path)
+ codebasePaths["exchanges ticker"] = fmt.Sprintf(exchangesTickerPath, path, path, path, path)
+ codebasePaths["portfolio"] = fmt.Sprintf(portfolioPath, path, path, path)
+ codebasePaths["smsglobal"] = fmt.Sprintf(smsglobalPath, path, path, path)
+ codebasePaths["testdata"] = fmt.Sprintf(testdataPath, path, path, path)
+ codebasePaths["tools"] = fmt.Sprintf(toolsPath, path, path, path)
+ codebasePaths["web"] = fmt.Sprintf(webPath, path, path, path)
+ codebasePaths["root"] = fmt.Sprintf(rootPath, path, path)
+}
+
+func addReadmeData(packageName string) {
+ readmeInfo := readme{
+ Name: packageName,
+ Contributors: contributors,
+ NameURL: getslashFromName(packageName),
+ }
+ codebaseReadme[packageName] = readmeInfo
+}
+
+// returns a string for godoc package names
+func getslashFromName(packageName string) string {
+ if strings.Contains(packageName, " ") {
+ s := strings.Split(packageName, " ")
+ return strings.Join(s, "/")
+ }
+ if packageName == "testdata" || packageName == "tools" {
+ return ""
+ }
+ return packageName
+}
+
+// adds all the template files
+func addTemplates() error {
+ glob, err := template.ParseGlob(fmt.Sprintf("readme_templates%s*", path))
+ if err != nil {
+ return err
+ }
+ _, err = glob.ParseGlob(fmt.Sprintf("sub_templates%s*", path))
+ if err != nil {
+ return err
+ }
+
+ tmpl = glob
+ return nil
+}
+
+// checkReadme checks to see if the file exists
+func checkReadme(packageName string) bool {
+ _, err := os.Stat(codebasePaths[packageName] + "README.md")
+ return os.IsNotExist(err)
+}
+
+// replaces readme file
+func replaceReadme(packageName string) error {
+ if err := deleteFile(codebasePaths[packageName] + "README.md"); err != nil {
+ return err
+ }
+ return createReadme(packageName)
+}
+
+// creates new readme file and executes template
+func createReadme(packageName string) error {
+ file, err := os.Create(codebasePaths[packageName] + "README.md")
+ defer file.Close()
+ if err != nil {
+ return err
+ }
+ if verbose {
+ fmt.Println("File done")
+ }
+ return tmpl.ExecuteTemplate(file, packageName, codebaseReadme[packageName])
+}
+
+func deleteFile(path string) error {
+ return os.Remove(path)
+}
+
+func getContributorList() error {
+ return common.SendHTTPGetRequest(contributorsList, true, false, &contributors)
+}
diff --git a/tools/documentation/readme_templates/common_readme.tmpl b/tools/documentation/readme_templates/common_readme.tmpl
new file mode 100644
index 00000000..44888af0
--- /dev/null
+++ b/tools/documentation/readme_templates/common_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "common" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package collates basic broad functions that are used throughout this codebase.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/config_readme.tmpl b/tools/documentation/readme_templates/config_readme.tmpl
new file mode 100644
index 00000000..2510020f
--- /dev/null
+++ b/tools/documentation/readme_templates/config_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "config" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package deals with configuration utilities.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_pair_readme.tmpl b/tools/documentation/readme_templates/currency_pair_readme.tmpl
new file mode 100644
index 00000000..042285ab
--- /dev/null
+++ b/tools/documentation/readme_templates/currency_pair_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "currency pair" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the currency package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_readme.tmpl b/tools/documentation/readme_templates/currency_readme.tmpl
new file mode 100644
index 00000000..7cdf48ed
--- /dev/null
+++ b/tools/documentation/readme_templates/currency_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "currency" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Currency package deals with currency pair generation, manipulation and tracking.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_symbol_readme.tmpl b/tools/documentation/readme_templates/currency_symbol_readme.tmpl
new file mode 100644
index 00000000..424ad811
--- /dev/null
+++ b/tools/documentation/readme_templates/currency_symbol_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "currency symbol" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the currency package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_translation_readme.tmpl b/tools/documentation/readme_templates/currency_translation_readme.tmpl
new file mode 100644
index 00000000..b383128a
--- /dev/null
+++ b/tools/documentation/readme_templates/currency_translation_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "currency translation" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the currency package with translation functions.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/events_readme.tmpl b/tools/documentation/readme_templates/events_readme.tmpl
new file mode 100644
index 00000000..b9a9367c
--- /dev/null
+++ b/tools/documentation/readme_templates/events_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "events" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ The events package handles events from GoCryptoTrader bot.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_nonce_readme.tmpl b/tools/documentation/readme_templates/exchanges_nonce_readme.tmpl
new file mode 100644
index 00000000..b969c4ab
--- /dev/null
+++ b/tools/documentation/readme_templates/exchanges_nonce_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "exchanges nonce" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the exchanges package with nonce creation.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl b/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl
new file mode 100644
index 00000000..ccb4d40b
--- /dev/null
+++ b/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "exchanges orderbook" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package facilitates orderbook generation.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_readme.tmpl b/tools/documentation/readme_templates/exchanges_readme.tmpl
new file mode 100644
index 00000000..f4f9cf77
--- /dev/null
+++ b/tools/documentation/readme_templates/exchanges_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "exchanges" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package is used to connect and query data from supported exchanges.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_stats_readme.tmpl b/tools/documentation/readme_templates/exchanges_stats_readme.tmpl
new file mode 100644
index 00000000..f0bdc956
--- /dev/null
+++ b/tools/documentation/readme_templates/exchanges_stats_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "exchanges stats" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the exchanges package.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl b/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl
new file mode 100644
index 00000000..c848e11f
--- /dev/null
+++ b/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "exchanges ticker" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This services the exchanges package by ticker functions.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/portfolio_readme.tmpl b/tools/documentation/readme_templates/portfolio_readme.tmpl
new file mode 100644
index 00000000..03dec8c0
--- /dev/null
+++ b/tools/documentation/readme_templates/portfolio_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "portfolio" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package allows for the monitoring of portfolio data.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/root_readme.tmpl b/tools/documentation/readme_templates/root_readme.tmpl
new file mode 100644
index 00000000..ff7ef845
--- /dev/null
+++ b/tools/documentation/readme_templates/root_readme.tmpl
@@ -0,0 +1,140 @@
+{{define "root" -}}
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+A cryptocurrency trading bot supporting multiple exchanges written in Golang.
+
+**Please note that this bot is under development and is not ready for production!**
+
+## Community
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Exchange Support Table
+
+| Exchange | REST API | Streaming API | FIX API |
+|----------|------|-----------|-----|
+| Alphapoint | Yes | Yes | NA |
+| ANXPRO | Yes | No | NA |
+| Binance| Yes | No | NA |
+| Bitfinex | Yes | Yes | NA |
+| Bitflyer | Yes | No | NA |
+| Bithumb | Yes | NA | NA |
+| Bitstamp | Yes | Yes | No |
+| Bittrex | Yes | No | NA |
+| BTCC | Yes | Yes | No |
+| BTCMarkets | Yes | No | NA |
+| COINUT | Yes | No | NA |
+| Exmo | Yes | NA | NA |
+| GDAX(Coinbase) | Yes | Yes | No|
+| Gemini | Yes | No | No |
+| HitBTC | Yes | Yes | No |
+| Huobi.Pro | Yes | No |No |
+| ItBit | Yes | NA | No |
+| Kraken | Yes | NA | NA |
+| LakeBTC | Yes | No | NA |
+| Liqui | Yes | No | NA |
+| LocalBitcoins | Yes | NA | NA |
+| OKCoin China | Yes | Yes | No |
+| OKCoin International | Yes | Yes | No |
+| OKEX | Yes | No | No |
+| Poloniex | Yes | Yes | NA |
+| WEX | Yes | NA | NA |
+| Yobit | Yes | NA | NA |
+
+We are aiming to support the top 20 highest volume exchanges based off the [CoinMarketCap exchange data](https://coinmarketcap.com/exchanges/volume/24-hour/).
+
+** NA means not applicable as the Exchange does not support the feature.
+
+## Current Features
+
++ Support for all Exchange fiat and digital currencies, with the ability to individually toggle them on/off.
++ AES encrypted config file.
++ REST API support for all exchanges.
++ Websocket support for applicable exchanges.
++ Ability to turn off/on certain exchanges.
++ Ability to adjust manual polling timer for exchanges.
++ SMS notification support via SMS Gateway.
++ Packages for handling currency pairs, ticker/orderbook fetching and currency conversion.
++ Portfolio management tool; fetches balances from supported exchanges and allows for custom address tracking.
++ Basic event trigger system.
++ WebGUI.
+
+## Planned Features
+
+Planned features can be found on our [community Trello page](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Compiling instructions
+
+Download and install Go from [Go Downloads](https://golang.org/dl/) for your
+platform.
+
+### Linux/OSX
+
+We use the `dep` tool provided by Golang for managing dependencies. As it is not officially part
+of the go tools package suite, you will need to manually install it if you have not already.
+
+On MacOS you can install or upgrade to the latest released version with Homebrew:
+
+```sh
+brew install dep
+brew upgrade dep
+```
+
+On linux or MacOS, you can also install it via `go get`:
+
+```sh
+go get -u github.com/golang/dep/cmd/dep
+```
+
+After `dep` is installed, please follow the instructions below:
+
+```bash
+go get github.com/thrasher-/gocryptotrader
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader
+make get
+make install
+cp $GOPATH/src/github.com/thrasher-/gocryptotrader/config_example.json $GOPATH/bin/config.json
+```
+
+### Windows
+
+```bash
+go get github.com/thrasher-/gocryptotrader
+cd %GOPATH%\src\github.com\thrasher-\gocryptotrader
+go install
+copy %GOPATH%\src\github.com\thrasher-\gocryptotrader\config_example.json %GOPATH%\bin\config.json
+```
+
++ Make any neccessary changes to the `config.json` file.
++ Run the `gocryptotrader` binary file inside your GOPATH bin folder.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
+## Binaries
+
+Binaries will be published once the codebase reaches a stable condition.
+{{template "contributors" .}}
+{{end}}
diff --git a/tools/documentation/readme_templates/smsglobal_readme.tmpl b/tools/documentation/readme_templates/smsglobal_readme.tmpl
new file mode 100644
index 00000000..7b651e3a
--- /dev/null
+++ b/tools/documentation/readme_templates/smsglobal_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "smsglobal" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package allows for the messaging of events to a personal phone number or a group of phone numbers.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/testdata_readme.tmpl b/tools/documentation/readme_templates/testdata_readme.tmpl
new file mode 100644
index 00000000..15a6e5d9
--- /dev/null
+++ b/tools/documentation/readme_templates/testdata_readme.tmpl
@@ -0,0 +1,10 @@
+{{define "testdata" -}}
+{{template "header" .}}
+## Current Features
+
+This folder contains a configuration test file for non-deployement test params.
+It also has the code coverage test files that allow us to monitor our entire
+codebase, click this link for more information [https://codecov.io/](https://codecov.io/).
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/tools_readme.tmpl b/tools/documentation/readme_templates/tools_readme.tmpl
new file mode 100644
index 00000000..6789effa
--- /dev/null
+++ b/tools/documentation/readme_templates/tools_readme.tmpl
@@ -0,0 +1,27 @@
+{{define "tools" -}}
+{{template "header" .}}
+## Current Features
+
+This folder contains an assortment of tools.
+
++ Configuration
++ Documentation creation
++ Portfolio monitoring
++ Exchange deployment
++ Websocket client
+
+
+Example Run for documentation generation - flags -v Verbose & -r Replace files
+```sh
+cd documentation/
+go run documentation.go -v
+```
+OR for full replacement.
+
+```sh
+cd documentation/
+go run documentation.go -v -r
+```
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/web_readme.tmpl b/tools/documentation/readme_templates/web_readme.tmpl
new file mode 100644
index 00000000..9d6a5b52
--- /dev/null
+++ b/tools/documentation/readme_templates/web_readme.tmpl
@@ -0,0 +1,67 @@
+{{define "web" -}}
+{{template "header" .}}
+## Current Features
+
++ It can run
++ It can be compiled with Electron to run as an executable
++ Websocket support to listen to GoCryptoTrader events
++ Material design
++ Has a semi-working Settings page
++ Has a basic ticker dashboard
+
+## Install dependencies with npm
+
+``` bash
+npm install
+```
+
+If you want to generate Angular components with Angular-cli , you **MUST** install `@angular/cli` in npm global context.
+Please follow [Angular-cli documentation](https://github.com/angular/angular-cli) if you had installed a previous version of `angular-cli`.
+
+``` bash
+npm install -g @angular/cli
+```
+
+## To build for development
+
+``` bash
+npm run start:web
+```
+
+Voila! You can use GoCryptoTrader web app in a local development environment with webpack watching!
+
+## To build for production
+
++ Using development variables (environments/index.ts) : `npm run electron:dev`
++ Using production variables (environments/index.prod.ts) : `npm run electron:prod`
+
+Your built files are in the /dist folder.
+
+## Included Commands
+
+|Command|Description|
+|--|--|
+|`npm run start:web`| Execute the app in the brower |
+|`npm run electron:linux`| Builds your application and creates an app consumable on linux system |
+|`npm run electron:windows`| On a Windows OS, builds your application and creates an app consumable in windows 32/64 bit systems |
+|`npm run electron:mac`| On a MAC OS, builds your application and generates a `.app` file of your application that can be run on Ma |
+
+## Execute E2E tests
+
+You can find end-to-end tests in /e2e folder.
+
+You can run tests with the command lines below:
+
++ **in a terminal window** -> First, start a web server on port 4200 : `npm run start:web`
++ **in another terminal window** -> Then, launch Protractor (E2E framework): `npm run e2e`
+
+## Contributors
+
+|User|Github|Contribution|
+|--|--|--|
+|GloriousCode|https://github.com/gloriouscode |Lead front-end|
+|Maxime GRIS|https://github.com/maximegris |Angular4 + Electron Base|
+|Shazbert|https://github.com/shazbert |Initial designs|
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/sub_templates/contributions.tmpl b/tools/documentation/sub_templates/contributions.tmpl
new file mode 100644
index 00000000..51b4e9bf
--- /dev/null
+++ b/tools/documentation/sub_templates/contributions.tmpl
@@ -0,0 +1,12 @@
+{{define "contributions"}}
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+{{end}}
diff --git a/tools/documentation/sub_templates/contributors.tmpl b/tools/documentation/sub_templates/contributors.tmpl
new file mode 100644
index 00000000..123c6ca4
--- /dev/null
+++ b/tools/documentation/sub_templates/contributors.tmpl
@@ -0,0 +1,10 @@
+{{define "contributors"}}
+## Contributor List
+
+|User|Github|Contribution Amount|
+|--|--|--|
+{{ range $contributor := .Contributors -}}
+| {{$contributor.Login}} | {{$contributor.URL}} | {{$contributor.Contributions}} |
+{{ end }}
+
+{{end}}
diff --git a/tools/documentation/sub_templates/donations.tmpl b/tools/documentation/sub_templates/donations.tmpl
new file mode 100644
index 00000000..5c53ef65
--- /dev/null
+++ b/tools/documentation/sub_templates/donations.tmpl
@@ -0,0 +1,9 @@
+{{define "donations" -}}
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+{{end}}
diff --git a/tools/documentation/sub_templates/header.tmpl b/tools/documentation/sub_templates/header.tmpl
new file mode 100644
index 00000000..b6144bd8
--- /dev/null
+++ b/tools/documentation/sub_templates/header.tmpl
@@ -0,0 +1,15 @@
+{{define "header" -}}
+# GoCryptoTrader package {{.Name}}
+
+
+
+{{template "status" .NameURL}}
+
+This {{.Name}} package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+{{end}}
diff --git a/tools/documentation/sub_templates/status.tmpl b/tools/documentation/sub_templates/status.tmpl
new file mode 100644
index 00000000..82efe96e
--- /dev/null
+++ b/tools/documentation/sub_templates/status.tmpl
@@ -0,0 +1,7 @@
+{{define "status"}}
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+{{with .}}[](https://godoc.org/github.com/thrasher-/gocryptotrader/{{.}}){{else}}[](https://godoc.org/github.com/thrasher-/gocryptotrader/){{end}}
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+{{end}}
diff --git a/web/README.md b/web/README.md
index 5d02a2d0..9991ecda 100644
--- a/web/README.md
+++ b/web/README.md
@@ -1,12 +1,22 @@
-# GoCryptoTrader Website
+# GoCryptoTrader package web
-A website interface to interact with the main GoCryptoTrader application. It is developed with Angular 4 with support for Electron
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/web)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This web package is part of the GoCryptoTrader codebase.
## This is still in active development
- You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
## Current Features
@@ -69,4 +79,24 @@ You can run tests with the command lines below:
|--|--|--|
|GloriousCode|https://github.com/gloriouscode |Lead front-end|
|Maxime GRIS|https://github.com/maximegris |Angular4 + Electron Base|
-|Shazbert|https://github.com/shazbert |Initial designs|
\ No newline at end of file
+|Shazbert|https://github.com/shazbert |Initial designs|
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+