
StockMatch is an app that offers tailored stock recommendations based on user preferences, simplifying the search for ideal investment opportunities.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
StockMatch is a project aimed at investors who prefer a straightforward and interactive approach to stock management and discovery. It's built to streamline the process of creating a personalized watchlist with an easy-to-use interface that responds to the user's investment preferences.
Utilizing real-time financial data from Finnhub and yFinance, StockMatch keeps users informed with the latest stock updates. The robust backend, built on Java Spring and supported by a Postgres database, ensures efficient data management.
The React-based frontend provides a clean and intuitive user experience, while Python and Go microservices fetch financial data, aiding users in their stock selection journey.
StockMatch is a tool for anyone interested in a hands-on approach to learning and enhancing their investment knowledge.
- Custom Investment Criteria: Users can set parameters to align with their investment goals.
- Personalized Stock Recommendations: Our system analyzes market data to suggest stocks that match user preferences.
- Real-Time Data: Live stock information is sourced from reliable APIs, offering up-to-date market insights.
- Engaging UI: A sleek, modern interface that emphasizes usability and aesthetic appeal.
Discover how StockMatch can enhance your investment strategy by visiting our live site: StockMatch.
Watch the StockMatch application in action:
StockMatchFinal.mp4
Figure 1: Login with Google screen on mobile
Figure 2: Home screen on mobile
Figure 3: Users watchlist screen on mobile


This guide will outline the steps necessary to set up StockMatch environment with Go, Python, Spring/Java backend, and a React frontend. Follow these instructions to prepare your local development environment.
Before you begin, ensure you have the following installed:
-
Go: Download and install from the official Go website.
-
Python: Download and install from the official Python website.
-
Node.js and npm: npm is distributed with Node.js which means that when you download Node.js, you automatically get npm installed on your computer. Download Node.js and npm from the official Node.js website.
- Confirm Go installation by checking the version in your terminal:
go version
- Confirm Python installation by checking the version in your terminal:
python --version # or for Python 3 python3 --version
- Download and install the Java Development Kit (JDK) from Oracle or use an OpenJDK distribution.
- Download and install Maven from the official Apache Maven project website.
- Configure environment variables for Java and Maven if needed.
- Clone the repositories:
git clone https://github.com/Aryanpatel335/StockMatch.git
- Install dependencies for the Spring/Java application:
cd StockMatchBackend mvn install
- Install NPM packages for the React frontend:
cd frontend npm install
-
Start the Spring/Java server:
cd StockMatchBackend mvn spring-boot:run
The server should be accessible at
http://localhost:8080
. -
In a new terminal, launch the React frontend:
cd frontend npm start
The React app should now be available at
http://localhost:3000
.
You are now ready to run and contribute to StockMatch!
Try it out: https://stockmatch.netlify.app/
See the open issues for a list of proposed features (and known issues).
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
- Aryan Patel:
- Personal: aryanp862002@gmail.com
- School: patea156@mcmaster.ca
- Martin Ivanov:
- Personal: martinivnv2002@gmail.com
- Areez Visram:
- Personal: areez.visram@gmail.com
Project Link: https://github.com/Aryanpatel335/StockMatch
Live Link: https://stockmatch.netlify.app/