I created this search engine called SavaJava which helps to screen any stocks in USA(NYSE & NASDAQ), Malaysia(KLSE) and Singapore(SGX) exchanges. The app does three 3 things:
- General Use - Provides Web Search Functionality for general users
- Developer Use - Provides RESTful Web Service for developers
- Provides independent Analytics using in-house algorithms on screened stocks (more on this later here!)
This application is built on Vue JS for the client and Node JS for the server. Although I got to admit I enjoyed working on the server more as it houses many in-house algorithms there such as:
- Dividend Frequency Detector Algorithm (Responsible for checking whether a stock pays dividend Annually, Bi-Annually, Quarterly or Monthly)
- Dividend Suspension Detector Algorithm (Responsible for checking whether how many times a stock had suspended or missed its dividend payment dues)
- Real-Time Forward Yield Algorithm (Responsible for displaying accurate yield based on latest dividend data and other analytics)
- Dynamic Search Query Algorithm (Responsible for checking and transforming user input search query into payload that is acceptable by the API endpoint for processing)
- Dynamic API Key Generator Algorithm (Responsible for generating dynamic API Key on daily basis to protect the server from brute forced or overloaded)
General Use Case
The Web Search returns 3 things, which are Dividend Analysis, Fundamentals, and Dividend History. There is no restriction on the app on who can use the web search functionality. Doesn't matter if the user is an investor, accountant, financial analyst, trader, banker or even developer, still they will find it useful before they commit their hard-earned money to any investment decisions.
Developer Use Case - How to Consume this API
I have created and published an API Playground for this project in Rapid API for developers for seamless integration and also this endpoint doesn't require API Key for making API calls.
To get API for Nasdaq (US) stocks:
- Simply type the target Stock’s ticker symbols into the Param’s field in the endpoint [eg: MSFT for Microsoft or AAPL for Apple]
- You can also refer this official NASDAQ website to reconfirm the NASDAQ stock’s ticker symbols should you need assistance
To get API for SGX (Singaporean) stocks:
- Simply type the target Stock’s ticker symbols and append this string ‘.SG’ into the Param’s field in the endpoint [eg: Z74.SG for Singapore Telecommunications Limited or D05.SG for DBS Group Holdings Ltd]
- You can also refer this official SGX website to reconfirm the SGX stock’s ticker symbols should you need assistance
To get API for KLSE (Malaysian) stocks:
- Simply type the target Stock’s ticker symbols and append this string ‘.MY’ into the Param’s field in the endpoint [eg: 1155.MY for Malayan Banking Berhad or 3182.MY for Genting Berhad]
- You can also refer this official KLSE website to reconfirm the KLSE stock’s ticker symbols should you need assistance
You can read more about SavaJava's Official Documentation in its official GitHub account
You can donate to support this project here and feel free to drop us a comment on what you want to see as improvement or additions into the project
If you think you can bring in some improvements and addition for this app, you can DM me via LinkedIn, I can add you into the project to work on.
Thanks and have great day fellow Devs!