Go to file
2026-02-17 12:10:43 -06:00
docs Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:12:26 -06:00
mac/src Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-16 21:37:49 -06:00
scripts Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 12:26:16 -06:00
skills/macos-selfcontained-webapp Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:43:20 -06:00
web Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-17 12:10:43 -06:00
.gitignore Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:33:31 -06:00
deploy_synology.sh Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-17 12:10:43 -06:00
Makefile Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:12:26 -06:00
README.md Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:42:25 -06:00
Run App.command Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:12:26 -06:00
run.sh Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-14 11:12:26 -06:00

Real Bars vs Fake Bars Trend Analyzer

A Python web app wrapped by a native macOS shell.

Standardized Layout

  • web/src/: web backend + Streamlit app source
  • mac/src/: Xcode macOS shell app (WKWebView host)
  • scripts/: build and packaging scripts
  • docs/: architecture and supporting docs
  • skills/: reusable project skills

Web Source

  • web/src/app.py: Streamlit entrypoint and UI orchestration
  • web/src/web_core/: strategy/data/chart/export modules
  • web/src/requirements.txt: Python dependencies
  • web/src/ONBOARDING.md: in-app onboarding guide content
  • web/src/PRD.md: web product rules and behavior spec

macOS Shell

  • Project location: mac/src/ (*.xcodeproj auto-discovered by scripts)
  • Uses WKWebView and launches embedded backend executable from app resources.
  • No external browser required.

See mac/src/README.md for shell details.

Setup

Quick start

./run.sh

Setup only

./run.sh --setup-only

Tests

make test

Build Self-Contained macOS App

./scripts/build_selfcontained_mac_app.sh

Output: dist-mac/<timestamp>/<Scheme>.app

Package as DMG:

APP_BUNDLE_PATH="dist-mac/<timestamp>/<Scheme>.app" ./scripts/create_installer_dmg.sh

Output: build/dmg/<AppName>-<timestamp>.dmg

Optional Standalone Streamlit App

./scripts/build_standalone_app.sh

Output: dist-standalone/<timestamp>/dist/<RepoName>.app

Notes

  • Analysis-only app; no trade execution.
  • Yahoo Finance interval availability depends on symbol/lookback.
  • For broad distribution, use code signing + notarization.