Skip to content
This repository was archived by the owner on Feb 15, 2026. It is now read-only.

SamirTheSWE/TradeTicker

Repository files navigation

TradeTicker

A Modern Web Application for Tracking Stock Prices with a Customisable Watchlist.

Live PreviewInstallationUsageLimitationsRoadmap


Live Preview

Live Demo
Check Out a Live Application to Experience the Features of TradeTicker for Yourself!


Features

  • Real-Time Stock Tracking: Monitor Price Updates.
  • Customisable Watchlist: Organise & Yrack your Preferred Stocks.
  • Secure User Accounts: With Enhanced Data Protection.

Tech-Stack

TradeTicker is Built with the Following Technologies:

  • Back-End: Express.JS (In TypeScript)

  • Front-End: TailwindCSS, jQuery, & Chart.js

  • Database: MySQL with Stored Procedures & SQL Injection Prevention

  • Authentication:

    • JWT-Based Cookies for Session Management
    • Password Hashing with Salting & Peppering
    • Middleware for Validation & Security
  • Human Verification: hCaptcha

  • Code Structure: Modular & Organised Codebase for Scalability


Installation

Important

Ensure You Have the Following Prerequisites Installed on Your System:

Steps to Install

  1. Clone the Repository:

    git clone https://github.com/04Samir/TradeTicker.git
    cd TradeTicker
  2. Install Dependencies:

    yarn install
  3. Set-Up Environment Variables: Create a .env File in the Project Root & Populate it With the Following Variables:

    BASE_PATH=[OPTIONAL-RELATIVE-PATH]
    LOCAL_URL=<LOCAL-API-URL>
    PORT=<LOCAL-PORT>
    
    DB_USER=<MYSQL-DB-USER>
    DB_PASSWORD=<MYSQL-DB-PASSWORD>
    
    ACCESS_SECRET=<JWT-ACCESS-SECRET>
    REFRESH_SECRET=<JWT-REFRESH-SECRET>
    SESSION_SECRET=<SESSION-SECRET>
    
    AUTH_PEPPER=<AUTH-PEPPER>
    
    HCAPTCHA_SECRET=<HCAPTCHA-SECRET>
    APCA_API_KEY_ID=<ALPACA-API-KEY-ID>
    APCA_API_SECRET_KEY=<ALPACA-API-SECRET-KEY>
    
  4. Initialise the Database: Use the Provided Schema File to Create the Necessary Tables:

    mysql -u <DB_USER> -p < source src/database/schema.sql

Usage

Tip

The Following Scripts are Available for Managing the Project:

  • Development Server: Launches the App in Development Mode with Hot-Reloading.
    yarn dev
  • Build for Production: Compiles the Project into an Optimised Build for Production.
    yarn build
  • Start Production Server: Runs the Compiled Production Build.
    yarn start

License

This Project is Licensed Under the GNU General Public License v3.0.
See the LICENSE File for Details.


Limitations

While TradeTicker Provides Robust Features for Stock Tracking, There are Some Current Limitations to be Aware of:

  • Slow Fetching: Data Retrieval May be Slow Due to Current API Rate Limits, Especially when Multiple Users are Online.
  • Limited Market Coverage:
    • Currently Only Supports US Stocks & Cryptocurrencies.
    • Does Not Include Global Markets, Forex, or Futures etc.
  • Data Availability: Some Lesser-Known Stocks or Assets May Not be Available via the Current API.

Planned Improvements: Check the Roadmap Section for Upcoming Enhancements Addressing These Limitations.


Roadmap

Planned Updates & Improvements for TradeTicker:

  • Migrate to a Better Stock API for Reduced Rate Limits & More Comprehensive Data.
  • Update the UI to a More Modern Design.
  • Optimise the Build Process by Possibly Utilising Gulp for Task Automation.
  • Add Support for Advanced Stock Data Visualisations (e.g. Candle-Stick Charts).
  • Migrate the Database to PostgreSQL for Enhanced Performance & Security.

About

A Web-App to Track Stock Prices.

Resources

License

Stars

Watchers

Forks

Contributors