Skip to content

andreyxdd/marketeye-client

Repository files navigation

Market-Eye Desktop Suite

The Market-Eye desktop app tabulates technical indicators for the stocks from NYSE/NASDAQ markets through a light interface.

The project is built with Market-Eye API, Electron React Boilerplate, MUI, and Zustand.

Build Status Github Tag

Market-Eye API

MarketEye API provides the most recent stock market analytics by calculating individual stock indicators (EMAs, MFI, etc.) as well as market-as-a-whole parameters (VIX, CVI, etc.) using the end-of-day (EOD) historical data. Market-Eye API stores the last three months of data and computes new analytics every working (trading) day.

Note: Market-Eye API is accessible only through a private key access (should be initiated in the .env locally).

Installing, running, and packaging

Install

Clone the repo and install dependencies:

git clone https://github.com/andreyxdd/marketeye-desktop-app.git
cd marketeye-desktop-app
npm install

Having issues installing? The ERB debugging guide might help

Starting Development

Start the app in the dev environment:

npm start

Packaging for Production

To package apps for the local platform:

npm run package

Flavor-specific Windows installers:

npm run package:win:us
npm run package:win:to
npm run package:win:micro:us
npm run package:win:micro:to

Releasing

  1. Bump the version in package.json.
  2. Commit the version bump.
  3. Create and push a tag: git tag v1.4.6 && git push origin v1.4.6
  4. GitHub Actions builds four Windows installers on tag push (v*).
  5. CI uploads each .exe, .blockmap, and a flavor-specific latest.yml to the GitHub Release.
  6. CI deploys four update feeds to GitHub Pages at updates/{releaseAppName}/latest.yml.
  7. Packaged apps check their baked-in feed on startup via electron-updater (generic provider).

Release artifact names follow artifactName in package.json:

  • MarketEye US-{version}-US-win.exe
  • MarketEye TSX-{version}-TO-win.exe
  • MicroFTM-{version}-US-win.exe
  • MicroFTM TSX-{version}-TO-win.exe

Per-flavor update feeds (stable gh-pages URLs):

Flavor Feed
MarketEye US https://andreyxdd.github.io/marketeye-client/updates/marketeye-us/
MarketEye TSX https://andreyxdd.github.io/marketeye-client/updates/marketeye-tsx/
MicroFTM https://andreyxdd.github.io/marketeye-client/updates/microftm-us/
MicroFTM TSX https://andreyxdd.github.io/marketeye-client/updates/microftm-tsx/

One-time setup: enable GitHub Pages for this repo (Settings → Pages → deploy from gh-pages branch).

Windows note: installers are unsigned today; SmartScreen may warn until code signing is added.

Flavor publish scripts (full pipeline with prepare:packaging-assets):

npm run package:publish:win:us
npm run package:publish:win:to
npm run package:publish:win:micro:us
npm run package:publish:win:micro:to

Analytics error handling

  • Main-process IPC handlers throw serializable API errors instead of returning null/[].
  • React Query hooks propagate failures; the data table and US market panel show an MUI Alert with Retry.
  • Background prefetch logs failures and does not seed cache on error; active price band prefetches first, other bands are lazy with concurrency 1.

Windows co-install verification

Each flavor must keep a unique Windows identity so all four installers can live on one machine:

Flavor appId Executable
MarketEye US com.marketeye.standard.us MarketEye US.exe
MarketEye TSX com.marketeye.standard.to MarketEye TSX.exe
MicroFTM com.marketeye.micro.us MicroFTM.exe
MicroFTM TSX com.marketeye.micro.to MicroFTM TSX.exe

Before release, confirm packaging patches identity correctly:

npm run generate:icons
MARKETEYE_MARKET=US MARKETEYE_PRODUCT_NAME="MarketEye US" npm run prepare:packaging-assets
node -e "console.log(require('./package.json').build.appId)"
git checkout -- package.json release/app/package.json assets/icon.png assets/icon.ico

MARKETEYE_MARKET=TO MARKETEYE_PRODUCT_NAME="MarketEye TSX" npm run prepare:packaging-assets
node -e "console.log(require('./package.json').build.appId)"
git checkout -- package.json release/app/package.json assets/icon.png assets/icon.ico

Expect com.marketeye.standard.us then com.marketeye.standard.to. After installing two or more flavors, verify separate entries in Apps & features and distinct Start Menu shortcuts / .exe names.

Docs

See ERB docs and guides for more details

About

Desktop interface to showcase data processed with Market-Eye API

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages