The Stock Broker Application built using the Spring Boot framework is a powerful web-based tool that enables customers to invest in the stock market seamlessly. It provides customers with a secure and intuitive platform that facilitates buying and selling of shares of various companies.With the ability to create and manage their demat account, customers can easily add funds and store their investments in a virtual wallet. They can track their transaction history, view stock market analysis, and stay updated with real-time price updates to make informed decisions while investing.
The application leverages the robustness and scalability of the Spring Boot framework to ensure the efficient handling of large volumes of transactions. It also implements robust security measures to protect the confidentiality of customer information and ensure the safety of transactions.Whether you're an experienced investor or a novice in the stock market, the Stock Trading Application using Spring Boot provides an intuitive and user-friendly interface that makes investing accessible to everyone. It's a reliable and efficient tool that enables customers to grow their wealth over time.
The above ER Diagram has the following relationships :
Customers and Wallet: One-to-One relationship, where each customer has only one wallet and each wallet is linked to only one customer.
Customers and Transactions: One-to-Many relationship, where each customer can have multiple transactions, but each transaction belongs to only one customer.
Stocks and Transactions: One-to-Many relationship, where each stock can be part of multiple transactions, but each transaction involves only one stock.
Customers and Stocks: Many-to-Many relationship, where each customer can purchase multiple stocks, and each stock can be purchased by multiple customers. This relationship can be implemented through a junction table that will have foreign keys referencing both the Customers and Stocks tables.
Mutual Funds and Transactions: One-to-Many relationship, where each mutual fund can be part of multiple transactions, but each transaction involves only one mutual fund.
Customers and Loan Against Share: One-to-Many relationship, where each customer can have multiple loans against shares, but each loan belongs to only one customer.
Loan Against Share and Transactions: One-to-Many relationship, where each mutual fund can be part of multiple transactions, but each transaction involves only one Loan Against Share.
Customers and Mutual Funds: One-to-Many relationship, where each customer can have multiple Mutual Funds, but each Mutual Funds belongs to only one customer.
- Broker
- Customer
- Broker logs in with their username and password.
- Broker can view all customers.
- Broker can add new stocks.
- Broker can view all stocks.
- Broker can view a consolidated report of a stock, which shows how many pieces of a stock have been sold and how many are yet to be sold.
- Broker can delete a customer, which credits the total amount of all stocks to the customer's wallet and marks the account inactive.
- Broker can delete a stock, which credits the total amount for that stock to the customer's wallet and marks the stock as deleted from the database.
- Broker logs out.
- Customer signs up with their first name, last name, username, password, address, mobile number, and email.
- Customer logs in with their username and password.
- Customer can view all stocks.
- Customer can buy and sell stocks.
- Customer can view their own transaction history.
- Customer can add and withdraw funds to and from their wallet.
- Customer logs out and can delete their account.
- Spring Core – Dependency Injection and Inversion of Control
- Web MVC architectural pattern
- Validation – Validator
- Password using unquie key generating
- JSON Binding
- Rest Template
- Apache Common Email
- Java 17 Stream API
- Server – Embedded Tomcat Server
- Maven Plugin and dependencies
- Session Management using Session Object
- Entity Manager
- Relationship Mapping
- Hibernate Validator
- Criteria Query
- Eclipse / Intellij IDE
- JDK (jdk 10 and above)
- JRE(any latest versions)
- Tomcat Server
- Web Browser(Google Crome, Mozilla Firefox, Microsoft Edge)
- Clone the repository as a maven project.
- Import all the dependencies.
- Run Application.java to run the application.
- You will see the processing and verification of the process during the Application run.
- Open Browser and Type in localhost:{server_port}.
(Server Port Depends on local System you can change it by going here server.port) - That's it You are Good to go!!!.
If you have any feedback, please reach out to me at manojsahoo890880@gmail.com