- Introduction
- Demo Video
- Features
- Installation
- API Endpoints
- Swagger Documentation
- Technology Stack
- About
Welcome to the InvestoBull_Assignment project, a Stock Management application developed using Java, Spring Boot, and Spring Data JPA. This application is designed to streamline the processing of financial data. Whether you're working on a solo project or looking to explore Java and Spring technologies, this application provides valuable functionality for managing stock data.
https://drive.google.com/file/d/1ISgq_Us1RkCa88OhZTbFxps4iUnOJLwk/view?usp=sharing
- Data Storage: Easily store financial data from JSON files in a database.
- ORB Candle Retrieval: Retrieve the first Opening Range Breakout (ORB) candle within a specified time frame.
- Interval Candle Generation: Generate a list of candles for a given time interval.
To run this Spring Boot project locally, follow these steps:
- Clone this repository:
git clone https://github.com/your-username/your-project.git
- Navigate to the project directory:
cd your-project
- Build and run the project:
mvn spring-boot:run
- HTTP Method: POST
- Endpoint:
http://localhost:8088/investo/save-candles
- Request: None
- Response: A status message indicating success or failure
- Description: Saves candlestick data from a JSON file to the database.
- HTTP Method: GET
- Endpoint:
http://localhost:8088/investo/candle/{candleId}
- Request: URL parameter
candleId
(should be between 0 and 75) - Response: JSON array containing stored candles
- HTTP Method: GET
- Endpoint:
http://localhost:8088/investo/first-last-candle
- Request: None
- Response: JSON array containing the first and last stored candles
- HTTP Method: GET
- Endpoint:
http://localhost:8088/investo/ORB/{minutes}
- Request: URL parameter
minutes
(should be divisible by 5) - Response: JSON object containing the time of the first Opening Range Breakout (ORB) candle
- Description: Calculates and returns the time of the first ORB candle based on the specified time interval.
- HTTP Method: GET
- Endpoint:
http://localhost:8088/investo/candles/{minutes}
- Request: URL parameter
minutes
(should be divisible by 5) - Response: JSON object containing newly generated candles
- Description: Retrieves and combines candlestick data for the specified time interval.
Explore the API using Swagger at: Swagger Documentation
This project leverages the following technologies:
- Java
- Spring Boot
- Spring Data JPA
- H2 Database
"This project was created as an individual assignment as part of a company's recruitment process. It stands as a tangible demonstration of Java, Spring Boot, and Spring Data JPA capabilities in the context of financial data management and processing."