xStocks is a Stock Data Aggregator website
xStock is a website that allows to gather and analyze stock information from multiple sources and apply the data for your own portfolio.
News, vital market information with links to Sceeners and other important pages.
Shows gathered information about a single stock.
Shows user's portfolio. Information can be presented in Table or Chart mode or exported to Excel format.
Shows user's dividends. Information can be presented in Table or Chart mode or exported to Excel format.
The project has API that allows retrieving information about stocks, exhanges, and user portfolio. API Key and the documentation are available at My Profile page.
- Linux or macOS or Windows
- PostgreSQL, download
- Ruby 3.1.2 or later, download
- Node 16 or later, download
- Yarn 1.22 or later, download
- Git
Install PostgreSQL and create x_stocks user or update config/database.yml file to match existing configuration.
To build and run this application locally, you'll need latest versions of Git, Ruby, Yarn and Node installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/a-kushnir/x-stocks.git
# Go into the repository
$ cd x-stocks
# Install gems
$ bundle
# Install packages
$ yarn install
# Create the database, loads the schema, and initialize it with the seed data
$ rails db:setup
# Run the app
$ rails s
- Sign up on https://finnhub.io/
- Copy API Key (example: bueso4n48v6tiubaqv70)
- Add environment variable FINNHUB_KEY with the copied value
- You can use multiple keys to overcome free account limitations, use variables like FINNHUB_KEY_2, FINNHUB_KEY_3 and so on
- Sign up on https://polygon.io/
- Copy API Key (example: ABabcd4U2aBc1or234rYO_HELPMEhaha)
- Add environment variable POLYGON_KEY with the copied value
- You can use multiple keys to overcome free account limitations, use variables like POLYGON_KEY_2, POLYGON_KEY_3 and so on
- Sign up on https://iexcloud.io/
- Copy API Token (example: pk_e735a31e0a593e7db8c38c9ce04632e7)
- Add environment variable IEXAPIS_KEY with the copied value
- You can use multiple keys to overcome free account limitations, use variables like IEXAPIS_KEY_2, IEXAPIS_KEY_3 and so on
Rename .env.template
to .env
and update its content, see dotenv gem for more details
See db/seeds/users.rb for default credentials.
David Birukovich
Design, QA
xStocks is under the MIT license. See the LICENSE for more information.