Welcome to the Stock Market App, a cutting-edge Spring Boot application designed to provide real-time stock market data, portfolio management, and secure transactions. This project aims to redefine stock market experiences by offering a comprehensive set of features.
The Stock Market App is developed using the following frameworks and languages:
- Java: The programming language used for backend development.
- Spring Boot: A Java-based framework for building web applications.
- Spring Data JPA: Simplifying data access for a smoother user experience.
- MySQL: The chosen database management system.
- Swagger: Creating interactive API documentation.
- SMTP: Facilitating email communication, including password resets and notifications.
- Lombok: Reducing boilerplate code, allowing a focus on innovative features.
The project follows a standard Spring Boot MVC structure and consists of the following components:
- Controller: Contains the API endpoints and request mappings.
- Service: Implements business logic and interacts with the repository.
- Repository: Handles data access to the MySQL database.
- DTO (Data Transfer Object): Represents the data structure exchanged between the API and the client.
- Model: Represents the data model(entity) mapped to the MySQL database.
-
Signup:
- Endpoint:
/user/signup
- Method: POST
- Description: Sign up for a new account.
- Endpoint:
-
Login:
- Endpoint:
/user/login
- Method: GET
- Description: Log in securely to your account.
- Endpoint:
-
Deposit Funds:
- Endpoint:
/user/addFund
- Method: POST
- Description: Deposit funds into your account.
- Endpoint:
-
Reset Password:
- Endpoint:
/user/resetPassword
- Method: POST
- Description: Reset your password.
- Endpoint:
-
Verify OTP for Password Reset:
- Endpoint:
/user/verifyOTPRestPassword
- Method: POST
- Description: Verify your identity for password reset.
- Endpoint:
-
Logout:
- Endpoint:
/user/logout
- Method: GET
- Description: Log out of your account.
- Endpoint:
-
Get Info for a Specific Stock:
- Endpoint:
/api/stocks/getInfoStockByName
- Method: GET
- Description: Retrieve real-time data for a specific stock symbol.
- Endpoint:
-
Get Comprehensive Information about All Stocks:
- Endpoint:
/api/stocks/getAllStockInfo
- Method: GET
- Description: Get comprehensive information about all available stocks.
- Endpoint:
-
Get Transaction History:
- Endpoint:
/api/stocks/statement
- Method: GET
- Description: Access your transaction history to track your investment journey.
- Endpoint:
-
Buy Stock:
- Endpoint:
/api/activity/buyStock
- Method: POST
- Description: Purchase stocks securely.
- Endpoint:
-
Sell Stock:
- Endpoint:
/api/activity/sellStock
- Method: POST
- Description: Sell stocks confidently.
- Endpoint:
-
Get Portfolio:
- Endpoint:
/portfolio/get
- Method: GET
- Description: Securely purchase stocks and manage your investment portfolio.
- Endpoint:
To get started with this Banking System, follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/your-username/stock-market-app.git
-
Set up the required database (MySQL) and configure the database connection in the
application.properties
file, and also you have to set up SMTP for email OTP. -
Build and run the application using Maven or your preferred IDE.
Feel free to connect with me to learn more or discuss the technology behind it:
-
Email: harshmunjapara005@email.com
-
LinkedIn: harshmunjapara