A Modern Web Application for Tracking Stock Prices with a Customisable Watchlist.
Live Preview • Installation • Usage • Limitations • Roadmap
Live Demo
Check Out a Live Application to Experience the Features of TradeTicker for Yourself!
- Real-Time Stock Tracking: Monitor Price Updates.
- Customisable Watchlist: Organise & Yrack your Preferred Stocks.
- Secure User Accounts: With Enhanced Data Protection.
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
Important
Ensure You Have the Following Prerequisites Installed on Your System:
- Node.JS (v16.x or Higher): Download Node.js
- Yarn (v1): Installation Guide
-
Clone the Repository:
git clone https://github.com/04Samir/TradeTicker.git cd TradeTicker -
Install Dependencies:
yarn install
-
Set-Up Environment Variables: Create a
.envFile 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>- hCaptcha Secret: Sign Up & Get your Free hCaptcha Secret Here.
- Alpaca Markets API Keys: Sign Up & Get your Free API Keys Here.
-
Initialise the Database: Use the Provided Schema File to Create the Necessary Tables:
mysql -u <DB_USER> -p < source src/database/schema.sql
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
This Project is Licensed Under the GNU General Public License v3.0.
See the LICENSE File for Details.
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.
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.