https://github.com/nikolatechie/trading-simulator
Trading Simulator is a web-based investment platform that allows users to trade stocks in real-time using a simulated account.
https://github.com/nikolatechie/trading-simulator
finance hibernate jest junit material-ui mysql reactjs spring-boot stock stock-market stock-simulator stocks trading trading-simulator
Last synced: 6 months ago
JSON representation
Trading Simulator is a web-based investment platform that allows users to trade stocks in real-time using a simulated account.
- Host: GitHub
- URL: https://github.com/nikolatechie/trading-simulator
- Owner: nikolatechie
- Created: 2023-03-17T14:43:22.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-27T18:47:17.000Z (over 1 year ago)
- Last Synced: 2025-03-30T22:41:38.986Z (10 months ago)
- Topics: finance, hibernate, jest, junit, material-ui, mysql, reactjs, spring-boot, stock, stock-market, stock-simulator, stocks, trading, trading-simulator
- Language: Java
- Homepage:
- Size: 12.6 MB
- Stars: 11
- Watchers: 1
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Trading Simulator
Trading Simulator is a web application developed using **Java Spring Boot**, **React.js** (along with **Material UI**), and **MySQL** database. It provides users with a simulated trading experience, allowing them to perform various trading activities.
## Features
1. **User Authentication**: Users can register and log in to the application. Upon registration, users receive a confirmation email to verify their account. Furthermore, there is an option to reset password via email.
2. **Dashboard**: Provides a quick overview of the user's trading activities and recommendations. It displays basic information and summary statistics to give users a glance at their portfolio performance.
3. **Portfolio**: Displays the portfolio performance chart, list of stocks held by the user, cash balance, portfolio value, today's change, annual return, and buy power. Users can track their investments and assess the performance of their holdings.
4. **Trade**: Allows users to explore and trade stocks. Users can search for specific stocks by symbol or name. Upon selecting a stock, detailed information is provided such as price, bid/ask price, day's high/low, volume, a price chart etc. Users can choose the desired time range for the chart (**1D**, **1M**, **6M**, **1Y**, **5Y**, or **MAX**). A trade form enables users to initiate trades by selecting the quantity, order type, and order duration.
5. **News**: Provides financial news related to stocks. Users can stay updated with the latest news and developments in the financial markets. Additionally, users can interact with news articles by liking articles or posting comments.
6. **Transactions**: Displays a history of all the transactions made by the user, including all trades. Users can review their transaction history to track their trading activities.
7. **Settings**: Allows users to modify their basic account settings, such as changing their name or password, or delete their account.
## Screenshots











## Prerequisites
Before running the application, ensure that the following software is installed on your system:
- Java Development Kit (JDK)
- Node.js
- MySQL
## Installation
1. Clone the repository.
2. Navigate to the project's `backend` directory.
3. Configure the application by creating the `application.properties` file. Add the database connection details and other relevant configurations such as API keys.
4. Install the backend dependencies and build the Spring Boot application.
5. Navigate to the `frontend` directory and install the frontend dependencies: `npm install`
6. Run the React.js frontend: `npm start`
7. Access the application at `http://localhost:3000` in your web browser.
## Contributors
- [Nikola Grujic](https://github.com/nikolatechie)