Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/syamreddy99/financial_portfolio_management

This repository contains the backend API for managing financial portfolios. It provides RESTful endpoints for CRUD operations on clients, financial advisors, portfolios, and securities.
https://github.com/syamreddy99/financial_portfolio_management

controller dtos entity financial-analysis java-8 mysql portfolio-site service springboot

Last synced: 1 day ago
JSON representation

This repository contains the backend API for managing financial portfolios. It provides RESTful endpoints for CRUD operations on clients, financial advisors, portfolios, and securities.

Awesome Lists containing this project

README

        

# Financial Portfolio Management Application ๐Ÿ“ˆ

A Spring Boot-based application designed to manage financial portfolios, clients, and securities efficiently.

## ๐Ÿ“ฆ Prerequisites

Before you begin, ensure you have met the following requirements:

- [Java JDK 11+](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) โ˜•
- [Maven](https://maven.apache.org/download.cgi) ๐Ÿ“ฆ
- [MySQL](https://dev.mysql.com/downloads/installer/) ๐Ÿ›ข๏ธ
- [Postman](https://www.postman.com/downloads) (optional, for API testing) ๐Ÿงช

## ๐Ÿ’ป Technologies Used

- โ˜• **Java 17** ![Java](https://img.shields.io/badge/-Java-007396?style=flat&logo=java&logoColor=white)
- ๐Ÿ–ฅ๏ธ **Spring Boot** ![SpringBoot](https://img.shields.io/badge/-SpringBoot-6DB33F?style=flat&logo=springboot&logoColor=white)
- ๐Ÿ—ƒ๏ธ **Hibernate** ![Hibernate](https://img.shields.io/badge/-Hibernate-59616B?style=flat&logo=hibernate&logoColor=white)
- ๐Ÿ›ข๏ธ **MySQL** ![MySQL](https://img.shields.io/badge/-MySQL-4479A1?style=flat&logo=mysql&logoColor=white)
- ๐Ÿ“ฆ **Apache Maven** ![Maven](https://img.shields.io/badge/-Maven-C71A36?style=flat&logo=apache-maven&logoColor=white)
- ๐Ÿ“ **Lombok** ![Lombok](https://img.shields.io/badge/-Lombok-2C2D72?style=flat&logo=lombok&logoColor=white)

## ๐Ÿ“Š API Endpoints
### Clients ๐Ÿ‘ฅ
- **Get All Clients**: Retrieves a list of all clients.
- GET /api/clients: `GET http://localhost:9988/api/clients`
![Get All Clients](https://github.com/syamreddy99/images-/blob/main/Screenshot%20(56).png?raw=true)

## **Get Client by ID**:
### Retrieves a client by its ID.
- Example: `GET http://localhost:9988/api/clients`

![Get Client by ID](https://github.com/syamreddy99/images-/blob/main/Screenshot%20(57).png?raw=true)

## **Create a New Client**: Creates a new client.
`POST http://localhost:9988/api/clients`
- Example JSON:
```json
{
"name": "John Doe",
"email": "[email protected]",
"phoneNumber": "123-456-7890"
}
## Delete a Client: Deletes a client by its ID.

- DELETE /api/clients/Delete/{id} `DELETE http://localhost:9988/api/clients/Delete/2`
# Financial Advisors ๐Ÿ’ผ
## Get All Financial Advisors: Retrieves a list of all financial advisors.

- GET /api/advisors `GET http://localhost:9988/api/advisors`

## Get Financial Advisor by ID: Retrieves a financial advisor by its ID.
- GET /api/advisors/{id} `GET http://localhost:9988/api/advisors/2`
## Create a New Financial Advisor: Creates a new financial advisor.
- POST /api/advisors `POST http://localhost:9988/api/advisors`
```json
{
"name": "Jane Smith",
"email": "[email protected]",
"phoneNumber": "098-765-4321"
}
## Delete a Financial Advisor: Deletes a financial advisor by its ID.
- DELETE /api/advisors/{id} `DELETE http://localhost:9988/api/advisors`

# Portfolios ๐Ÿ“‚
## Get All Portfolios: Retrieves a list of all portfolios.
- **Get All Portfolios**: `GET http://localhost:9988/api/portfolios`

## Get Portfolio by ID: Retrieves a portfolio by its ID.
- **Get Portfolio By ID**: `GET http://localhost:9988/api/portfolios/{id}`
-
## Create a New Portfolio: Creates a new portfolio.
- **Create Portfolio**: `POST http://localhost:9988/api/portfolios`
```json
{
"client": {
"id": 1,
"name": "John Doe",
"email": "[email protected]",
"phoneNumber": "123-456-7890"
},
"securities": []
}
## Delete a Portfolio: Deletes a portfolio by its ID.
-**DELETE Portfolio**: `DELETE http://localhost:9988/api/portfolios`

# Securities ๐Ÿ’น
## Get All Securities: Retrieves a list of all securities.

- GET /api/securities `GET http://localhost:9988/api/securities`

## Get Security by ID: Retrieves a security by its ID.

- GET /api/securities/{id} `GET http://localhost:9988/api/securities\{id}`

## Create a New Security: Creates a new security.
```json
{
"name": "AAPL",
"category": "Stock",
"purchaseDate": "2023-07-01",
"purchasePrice": 150.00,
"quantity": 10,
"portfolio_id": 2
}

## Delete a Security: Deletes a security by its ID.

- DELETE /api/securities/{id} `DELETE http://localhost:9988/api/securities\{id}`

# Getting Started ๐Ÿš€

## Clone the repository:

````bash
git clone https://github.com/yourusername/financial-portfolio-management.git

## Navigate to the project directory:
````bash
cd financial-portfolio-management
## Build the project:
````bash
mvn clean install
## Run the application:
````bash
mvn spring-boot:run
## Access the API at:
````bash
http://localhost:9988/api
# Contributing ๐Ÿค
- We welcome contributions! Please read our contributing guidelines for more details.
# Contact ๐Ÿ“ฌ
- For any questions or suggestions, please feel free to reach out.

- Gmail : `[email protected] `
- Happy Coding! ๐ŸŽ‰