Skip to content

Mirae-meme-project/Mirae

Repository files navigation

Mirae

프로젝트 개요

이 프로젝트는 암호화폐 투자 자문을 위한 챗봇 시스템입니다. 백엔드(Node.js)와 프론트엔드(React)로 구성되어 있으며, 사용자의 질문에 대해 실시간 암호화폐 데이터(시세, 트렌드, 예측, 뉴스)를 기반으로 AI 모델이 분석하여 투자 조언을 제공합니다.

프로젝트 실행 방법

이 프로젝트는 백엔드와 프론트엔드로 구성되어 있습니다. 각 파트를 개별적으로 실행해야 합니다.

1. Backend 실행

Node.js Express 서버를 실행합니다. 이 서버는 챗봇의 핵심 로직과 데이터 API를 제공합니다.

cd backend
npm install
npm start

2. Frontend 실행

React 개발 서버를 실행합니다. 이 서버는 사용자 인터페이스를 제공하며 백엔드 API와 통신합니다.

cd frontend/my-dashboard
npm install
npm start

이제 웹 브라우저에서 http://localhost:3000으로 접속하여 애플리케이션을 확인할 수 있습니다.

챗봇 관련 API 구조

챗봇은 POST /api/chat 엔드포인트를 통해 사용자 질문을 받으며, 내부적으로 다음 API들을 호출하여 데이터를 수집하고 AI 모델의 답변 생성에 활용합니다.

  1. 코인 정보 API (/api/coins/:coinSymbol)

    • 특정 코인(예: bitcoin, dogecoin)의 현재 가격, 24시간 변동률 등 실시간 시세 정보를 제공합니다.
    • chat.controller.jsextractCoinSymbol 함수를 통해 사용자 질문에서 코인 심볼을 추출하거나, 기본값으로 'bitcoin'을 사용합니다.
  2. 트렌드 정보 API (/api/trends/:coinSymbol)

    • 특정 코인에 대한 검색량 트렌드(오늘/어제 검색량, 검색량 분류) 데이터를 제공합니다.
  3. 예측 정보 API (/api/predict/:coinSymbol)

    • 특정 코인에 대한 AI 모델의 상승/하락/유지 예측 데이터를 제공합니다.
  4. 뉴스 정보 API (/api/news/:newsQuery)

    • 특정 코인 또는 일반적인 암호화폐 관련 최신 뉴스 헤드라인을 제공합니다.
    • chat.controller.jsextractCoinSymbol 함수를 통해 뉴스 쿼리를 추출하거나, 기본값으로 'cryptocurrency'를 사용합니다.

이러한 API들로부터 수집된 데이터는 AI 모델(Hyperclova service)에 전달될 시스템 프롬프트로 가공되며, AI 모델은 이 데이터를 기반으로 사용자 질문에 대한 투자 자문 답변을 생성합니다.

환경 변수(.env) 설정 안내

백엔드 서버를 실행하기 위해서는 backend/ 디렉터리 내에 .env 파일이 반드시 필요합니다.

PORT=5000
HCX_ENGINE_ID=ft-hcx-ko-coin-20250707
AUTHORIZATION_KEY=nv-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CLOVA_API_KEY=nv-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NCP_ACCESS=ncp_iam_xxxxxxxxxxxxxxxxxxxxxxxxx
NCP_SECRET=ncp_iam_xxxxxxxxxxxxxxxxxxxxxxxxx
OBJ_BUCKET=my-coin-bucket
OBJ_PATH=dataset/hyperclova_training_tuning_format.csv
OBJ_ACCESS=ncp_iam_xxxxxxxxxxxxxxxxxxxxxxxxx
OBJ_SECRET=ncp_iam_xxxxxxxxxxxxxxxxxxxxxxxxx
NEWSAPI_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SERPAPI_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • PORT: 서버가 구동될 포트(기본값 5000)

  • HCX_ENGINE_ID: HyperClova X 엔진 ID

  • AUTHORIZATION_KEY / CLOVA_API_KEY: HyperClova API 사용을 위한 인증키

  • NCP_ACCESS / NCP_SECRET: Naver Cloud Platform Object Storage 인증키

  • OBJ_BUCKET / OBJ_PATH / OBJ_ACCESS / OBJ_SECRET: 데이터셋 파일 경로 및 인증 정보

  • NEWSAPI_KEY: NewsAPI를 이용한 뉴스 수집용 키

  • SERPAPI_KEY: Google Trends에서 사용하는 SerpApi 키

⚠️ 주의사항 실제 API 키/시크릿 값은 위 예시처럼 채워야 정상 동작합니다.

  • .env 파일이 없거나, 필수 값이 비어 있을 경우 서비스 일부 또는 전체가 동작하지 않을 수 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •