Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

크립토톡(CryptoTalk)

1. 프로젝트 개요

  • 프로젝트 명: 크립토톡(CryptoTalk)
  • 개발 인원: 1명
  • 개발 기간: 2024년 12월 09일 ~ 2025년 01월 10일
  • 주요 기능
    • 카카오 Oauth2.0 로그인
    • 가상화폐 가격 알림 서비스
      • 가상화폐 지정 및 알림 가격 설정
      • 실시간(또는 주기적) 가격 확인 후 알림 발송(카카오톡 메시지 활용)

2. 개발 환경

  • 프론트엔드:
    • Thymeleaf
    • Bootstrap
  • 백엔드:
    • Java 17
    • Spring Boot 3.3.6
  • 데이터베이스: MySQL 8.0
  • 빌드 도구: Gradle
  • 형상관리: Git

3. 요구사항

3.1 가상화폐 알림 기능

  1. 가상화폐 알림 전송 등록
    • A. 가상화폐를 지정하고, 알림을 받을 희망하는 가격대 입력
    • B. 알림 가격 설정 완료 시, 가격 도달 시점에 카카오톡으로 알림 전송

4. 기술적 고민 및 해결

4.1 가격 정보 관리

고민: 외부 API(예: 업비트)를 매번 실시간 호출할지, 혹은 일정 주기로 DB에 저장할지 결정이 필요. 실시간 API 호출 시 데이터는 최신이지만, 트래픽 증가 시 API Rate Limit에 걸릴 우려가 있음

해결:

  • 주기적으로 데이터를 수집하여 DB에 저장하고, 서비스 로직은 DB 조회를 통해 시세를 가져옴
  • 데이터가 100% 실시간은 아니지만, 이력 관리와 API Rate Limit 완화를 동시에 달성
  • 모든 마켓 정보를 한 번에 가져오면 응답 데이터가 커서 DataBufferLimitException이 발생
  • 원화 마켓만 우선 가져오도록 수정하여 문제 해결

4.2 개인정보 암호화

고민:

  • 비밀번호는 해시(단방향) 암호화를 사용
  • 개인정보(예: 전화번호)는 복호화가 가능한 양방향 암호화 필요 → AES 알고리즘 사용

문제: AES 암호화 키를 하드코딩하면 보안 취약점 발생. 키를 애플리케이션 실행 시마다 임의 생성하면, 이전에 암호화된 데이터 복호화 불가

해결:

  • 로컬 환경: 키를 환경 변수에 저장 후 애플리케이션 시작 시 로드
  • 배포(클라우드) 환경: AWS Secrets Manager 등을 통해 키를 안전하게 관리

4.3 카카오 OAuth2.0 무한 리디렉션 문제

문제: Spring Security와 카카오 OAuth2 연동 과정에서 무한 리디렉션 발생. 인증 완료 후 redirect_uri 형식이 표준과 맞지 않아 인증이 실패하고 재시도 → 무한 루프

해결: Spring Security에서 요구하는 redirect_uri 형식을 준수하도록 수정. 공식 문서를 참고하여 표준 인증 흐름을 따르도록 재설정 → 문제 해결

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages