This is a Spring Boot-based trading application that integrates with external APIs such as CoinGecko for cryptocurrency data. The application provides functionalities to fetch real-time cryptocurrency details, offer AI-powered chat support using Gemini, and includes user authentication.
- Fetch cryptocurrency details using the CoinGecko API.
- Store and retrieve coin data from an SQL database.
- AI-powered chat support using Gemini for trading insights.
- User authentication for secure access.
- Structured service layer with
ChatBotServiceto process API responses. - Uses Spring Boot, REST APIs, and SQL for data storage.
- Java (Spring Boot)
- Spring Web (for REST APIs)
- Spring Data JPA (for database interactions)
- Spring Security (for user authentication)
- SQL Database (e.g., MySQL, PostgreSQL, etc.)
- RestTemplate (for API requests)
- Maven (for project management)
- Gemini AI (for chat-based trading support)
- React (for frontend development)
- ShadCN UI (for modern React UI components)
- Redux (for state management)
- Install Java 17 or later
- Install Maven
- Set up an SQL database (MySQL/PostgreSQL) and configure it in
application.properties - Obtain API keys for CoinGecko and Gemini services
Update application.properties with your database credentials and API keys:
spring.datasource.url=jdbc:mysql://localhost:3306/trading_db
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
# API Keys
gemini.api.key=your_gemini_api_key
coingecko.api.key=your_coingecko_api_key- Clone the repository:
git clone https://github.com/your-repo/trading-app.git cd trading-app - Build the project:
mvn clean install
- Run the application:
mvn spring-boot:run
Include relevant screenshots of the application, such as:
- Store historical coin data in the database
- Add support for multiple fiat currencies
- Improve AI chat responses with more trading insights


