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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Settings: Allows users to modify their basic account settings, such as changing their name or password, or delete their account.
Before running the application, ensure that the following software is installed on your system:
- Java Development Kit (JDK)
- Node.js
- MySQL
- Clone the repository.
- Navigate to the project's
backend
directory. - Configure the application by creating the
application.properties
file. Add the database connection details and other relevant configurations such as API keys. - Install the backend dependencies and build the Spring Boot application.
- Navigate to the
frontend
directory and install the frontend dependencies:npm install
- Run the React.js frontend:
npm start
- Access the application at
http://localhost:3000
in your web browser.