Skip to content

NexusHero/ElliotWaveAnalyzer

Repository files navigation

Elliott Wave Analyzer

A market-analysis tool built on the Elliott Wave Principle. Run a full-auto analysis that detects the wave structure for you and reads the market, or place wave labels (1–5, A/B/C, W/X/Y) yourself and get the canonical rules checked instantly with an AI analyst's interpretation. Not financial advice.

CI Security Scan CodeQL License: MIT

Screenshots

Sign in — branded, with a clear Log in / Create account switch Workspace + coach — rule checks, Fibonacci ratios, AI reflection
Auth Coach result
Workspace (light theme) Settings — secured per-provider API keys
Workspace light Settings

The hero of every screen is the wave-analysis loop: run the full-auto analysis to detect and rank wave counts on live market data, or place a count yourself, validate it against the three canonical impulse rules, and compare with the AI's reading. Dark and light themes are both first-class.

Overview

[CoinGecko / Yahoo Finance]
         ↓
  [ASP.NET Core Backend]
  Minimal API · Indicator calculation · LLM coach · PostgreSQL (auth & sessions)
         ↓ JSON (REST)              ↓ PNG (SkiaSharp)
  [React Frontend]              [Telegram / Email]
  TradingView Lightweight Charts
  Interactive Elliott Wave annotation + AI coach

Monorepo structure

ElliotWaveAnalyzer/
├── backend/
│   ├── src/
│   │   └── ElliotWaveAnalyzer.Api/   # ASP.NET Core Minimal API (.NET 10)
│   ├── tests/
│   │   └── ElliotWaveAnalyzer.Tests/ # NUnit + NSubstitute
│   └── ElliotWaveAnalyzer.sln
├── frontend/                          # React 18 + TypeScript + Vite
├── docs/screenshots/                  # UI screenshots used in this README
└── README.md

Prerequisites

  • .NET 10 SDK
  • Node.js 24+
  • (Optional) Docker for containerized deployment

Local dev workflow

Backend

cd backend
dotnet restore
dotnet build
dotnet test                          # all tests
dotnet run --project src/ElliotWaveAnalyzer.Api
# API runs on https://localhost:5001
# Swagger UI: https://localhost:5001/swagger

Frontend

cd frontend
npm install
npm run dev                          # Vite dev server on http://localhost:5173
npm run test                         # Vitest
npm run build                        # Production build (tsc --noEmit + vite build)

OpenAPI codegen (generate TypeScript types from the backend)

cd frontend
npm run generate:api                 # openapi-typescript → src/api/generated.ts

Continuous integration

Four GitHub Actions pipelines guard every push and pull request to main:

Workflow File Trigger What it does
CI ci.yml push / PR to main Builds & tests the .NET 10 backend (with a PostgreSQL 17 service for the auth round-trip) and the React/Vite frontend.
Security Scan security.yml push / PR + weekly cron dotnet NuGet vulnerability audit and npm dependency audit.
CodeQL codeql.yml push / PR + weekly cron Static analysis for C# and JavaScript/TypeScript.
Release release.yml v* tags Publishes self-contained backend binaries for linux-x64, win-x64 and osx-x64.

Dependency updates are automated via Dependabot.

Architecture decisions

Architecture decisions are documented as ADRs in docs/architecture.md (ADR-001 … ADR-006).

Tech stack

Layer Technology
Backend API ASP.NET Core Minimal API (.NET 10)
Auth ASP.NET Core Identity + opaque session cookies; optional Google OAuth
Indicators Skender.Stock.Indicators
Charts (srv) SkiaSharp
LLM coach Claude / Gemini / OpenAI (configurable)
Persistence PostgreSQL via EF Core / Npgsql
Logging Serilog (structured JSON)
Frontend React 18 + TypeScript + Vite
Charts (UI) TradingView Lightweight Charts
Tests BE NUnit + NSubstitute
Tests FE Vitest + React Testing Library

Deployment

Self-contained single-file as the target; containerization for a Home Assistant add-on is planned.

Contributing & community

Contributions are welcome! Please read:

Pull requests use the PR template; bug reports and feature requests use the issue templates.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages