Skip to content

Lightweight asset market viewer for visualizing candlestick charts and paper trading.

Notifications You must be signed in to change notification settings

whitas/StockViewer

 
 

Repository files navigation

StockViewer

Java Spring Go PostgreSQL License

Lightweight asset market viewer for visualizing candlestick charts and paper trading.

Table of Contents

Overview

StockViewer is a modular, cross-language application (Java and Go) designed for efficient visualization of market data and strategy prototyping. The project enables users to render candlestick charts and practice trading in a risk-free environment.

Installation

Using Docker Compose

  1. Make sure you have Docker & docker-compose installed.

  2. Create a .env file with enviromental variables e.g. (or copy .env-example):

    DB_HOST=postgres
    DB_PORT=5432
    DB_USER=user
    POSTGRES_USER=user
    DB_PASSWORD=password
    POSTGRES_DB=stockviewer
    DB_NAME=stockviewer
    POSTGRES_PASSWORD=password
    JWT_SECRET=esESFSEFESfesfsefSEFSEFSEFSef425245543544ji24j4j242ngK1kn12nfkeafn53342iiSFESfijakkna32532jjsEEEsjesesjjoojimni
    
    KAFKA_ENABLE_KRAFT=yes
    KAFKA_CFG_PROCESS_ROLES=broker,controller
    KAFKA_CFG_NODE_ID=1
    KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9094
    KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
    KAFKA_KRAFT_METADATA_DIR=/bitnami/kafka/data/kraft
    
    KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9094
    KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
    KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
    KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
    
    KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
    KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
    KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=1
    
    KAFKA_CREATE_TOPICS=indicator_events1:1
    
  3. Run:

    docker compose up --build -d

Features

  • Candlestick Chart Visualization:
    Interactive charts for market analysis.

  • Paper Trading:
    Execute simulated trades to test strategies without financial risk.

  • Asset watchlist:
    Keep your favourite assets close by adding them to the watchlist and seeing them on the main page.

Project Structure

The project contains following parts:

Technology Description
JavaSpring REST API
PostgreSQL Relational Database
Go DB maintenance service

Diagram:

image

Documentation

Full documentation is available in documentation folder, it contains:

  • UML diagrams

  • ERD diagram

  • Requirements

  • Mockup

  • Endpoints

  • SQL schema script

About

Lightweight asset market viewer for visualizing candlestick charts and paper trading.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 48.4%
  • Go 18.3%
  • TypeScript 14.6%
  • HTML 14.6%
  • SCSS 3.0%
  • Dockerfile 1.0%
  • Shell 0.1%