Home/Projects/BackTrade
Web Application

BackTrade

BackTrade is a sophisticated trading backtesting platform designed for professional traders and quantitative analysts. The platform provides a deterministic environment where users can launch trading sessions at any historical timestamp, execute trades as if operating in real-time during past market conditions, and access detailed performance analytics.

TimelineSeptember 2025January 2026
Duration5 months
RoleLead Developper
Team Size1 person
typescriptnodereactexpress

About This Project

Overview

BackTrade is a sophisticated trading backtesting platform designed for professional traders and quantitative analysts. The platform provides a deterministic environment where users can launch trading sessions at any historical timestamp, execute trades as if operating in real-time during past market conditions, and access detailed performance analytics.

Core Capabilities

  • Historical Trading Simulation: Launch trading sessions at any historical timestamp with full market data replay
  • Multi-Session Management: Run multiple concurrent trading sessions with different instruments and parameters
  • Real-Time Controls: Interactive time controls with play/pause functionality and variable speed settings (0.5x, 1x, 2x, 5x, 10x)
  • Advanced Analytics: Comprehensive trading performance metrics and detailed session analytics
  • Professional Tools: Position management, risk controls, and sophisticated order execution
  • Subscription Tiers: Role-based access control with tiered subscription system

Features

Trading Features

  • Multi-Session Management: Run multiple concurrent trading sessions with different instruments
  • Real-Time Simulation: Interactive time controls with play/pause and variable speed settings -Position Management: Open, modify, and close positions with real-time P&L tracking
  • Advanced Analytics: Comprehensive trading performance metrics and session analytics
  • Multiple Instruments: Support for various trading instruments (XAUUSD, EURUSD, etc.) and timeframes
  • Historical Data: Full historical candlestick data stored in ClickHouse for fast retrieval

Platform Features

  • User Authentication: Secure JWT-based authentication with refresh tokens
  • Role-Based Access Control: Tiered subscription system (User, Trader, Expert, Admin)
  • Subscription Management: Stripe integration for payment processing and subscription management
  • Dataset Management: Upload, process, and manage trading datasets
  • Email Notifications: Automated email notifications for account events
  • Modern UI: Intuitive React-based interface with interactive candlestick charts
  • Background Processing: Asynchronous job processing with RabbitMQ
  • Object Storage: MinIO integration for dataset file storage
  • Caching Layer: Redis-based caching for improved performance

Infrastructure Features

  • Microservices Architecture: Separate services for API, Worker, and Scheduler
  • Database Migrations: Automated Prisma migrations with health checks
  • Queue Retry System: Automatic retry mechanism for failed jobs
  • Health Monitoring: Comprehensive health checks for all services
  • Security Hardening: Non-root containers, capability dropping, and security best practices
  • Cloudflare Tunnel: Secure remote access without exposing ports

Architecture

BackTrade is built as a modern, scalable monorepo using pnpm workspaces and Turbo for efficient build orchestration.

Services

The platform consists of the following services:

| Service | Description | Port (Dev) | | --------------------- | ---------------------------------------- | ----------- | | Frontend | React web application served by Nginx | 5173 | | Backend API | Express.js REST API server | 21799 | | Worker | Background job processor for async tasks | - | | Scheduler | Scheduled tasks and queue retry handler | - | | PostgreSQL | Primary relational database | 5432 | | Redis | Caching and session storage | 6379 | | ClickHouse | Analytics database for time-series data | 8123, 9002 | | MinIO | Object storage for datasets | 9000, 9001 | | RabbitMQ | Message queue for job processing | 5672, 15672 | | Nginx | Reverse proxy (production only) | 80 | | Cloudflare Tunnel | Secure remote access (production only) | - |

Gallery

Click on any image to view it in full size

Documentation & Files

Download project documentation or preview files directly in your browser

README.pdf223.1 KB
use-cases.pdf130.5 KB
api.pdf258.7 KB
git-commit-standards.pdf156.6 KB
project-description.pdf86.6 KB
session-lifecycle.pdf98.2 KB
order-execution.pdf71.1 KB
bar-advancement.pdf149.7 KB
webhook-processing.pdf170.3 KB
checkout-flow.pdf126.3 KB
workspace-structure.pdf78.7 KB
build-orchestration.pdf73.6 KB
request-path-sequence.pdf98.2 KB
sequence-user-management.pdf111.2 KB
sequence-token-refresh-flow.pdf152.3 KB
sequence-subscription-management.pdf111.3 KB
sequence-session-initialization.pdf103.2 KB
sequence-session-controls.pdf121.5 KB
sequence-login-flow.pdf174.8 KB
sequence-forgot-password-flow.pdf269.5 KB
sequence-dataset-management.pdf137.8 KB
sequence-chart-update.pdf101.6 KB
routing-structure.pdf73.2 KB
data-fetching.pdf159.9 KB
component-diagram.pdf71.3 KB
activity-position-creation.pdf72.7 KB
activity-indicator-lifecycle.pdf86.3 KB
activity-file-upload-process.pdf84.1 KB
activity-api-request-with-refresh.pdf86.0 KB
data-flow-diagram.pdf72.6 KB
frontend-error-handling.pdf71.0 KB
error-types.pdf74.4 KB
error-propagation.pdf93.9 KB
service-dependencies.pdf75.7 KB
network-topology.pdf79.3 KB
health-check-flow.pdf180.8 KB
deployment-sequence.pdf161.1 KB
docker-data-flow.pdf110.8 KB
build-process.pdf85.3 KB
docker-architecture-overview.pdf94.1 KB
data_dictionary.pdf174.3 KB
er-diagram.pdf94.6 KB
worker-jobs.pdf71.5 KB
file-splitting.pdf109.3 KB
csv-parsing.pdf128.6 KB
service-layer.pdf74.5 KB
request-flow.pdf151.1 KB
middleware-stack.pdf119.1 KB
get-user-flow.pdf152.4 KB
error-handling.pdf73.9 KB
architecture-overview.pdf78.4 KB
api-worker-sequence.pdf108.9 KB
authorization-rbac.pdf72.0 KB
authentication-flow.pdf159.6 KB
Back to all projects