본문 바로가기
won2dev-log
HomeArchiveTagsCategoriesAboutProjects
HomeArchiveTagsCategoriesAboutProjects
won2dev-logwon2dev-logwon2dev-log

비전공 개발자의 로그 | won2dev-log

Navigation
  • Home
  • Archive
  • About
  • Projects
Categories
  • Docs
  • TIL
  • Automation
  • Git · GitHub
  • Project
Tags
  • TIL
  • Java
  • Spring
  • Backend
  • n8n
더보기
About

기록을 거름 삼아 공유는 성장을 만든다.

LicensePrivacy
© won2dev 2026. All rights reserved.
Home›Project›DORANGG - 리그 오브 레전드 AI 코칭 도우미 웹앱
Project

DORANGG - 리그 오브 레전드 AI 코칭 도우미 웹앱

won2dev·2025년 08월 27일
#Java#Backend#Spring#Next.js#Pinned
DORANGG - 리그 오브 레전드 AI 코칭 도우미 웹앱

📍주제

  • DORAN.GG: 리그 오브 레전드 AI 코칭 도우미 웹앱 개발
  • Spring Boot + React 기반 풀스택 프로젝트, Riot API 연동 및 AI 코칭 기능 구현

Github: DORAN.GG

💬 배운 기술 / 지식

  • Spring Boot 3계층 구조 (Controller, Service, Repository) 기반 API 설계 및 구현
  • JWT 기반 인증 및 Spring Security Role/권한 관리
  • Riot API 연동, 매치 데이터 저장 및 AI 기반 분석
  • WebSocket/STOMP 기반 실시간 오픈채팅 구현
  • Next.js + TailwindCSS로 Dashboard, Community, AI 위젯 프론트 구현
  • DTO/ResponseEntity 활용, Jakarta Validation 적용, 데이터 무결성 관리
  • ERD 작성, 데이터 정규화, JPA 단방향 연관관계 설계
  • AI 모델 활용 (OpenAI API) + 게임 데이터 기반 추천 및 하이라이트 생성
  • 배포/인프라: AWS EC2, RDS, ElastiCache, Vercel, Cloudflare

🧩 설명

  • 회원 시스템 (Member)
    • 회원가입/로그인/프로필 관리, JWT 인증 적용
    • 탈퇴 시 Redis 블랙리스트 처리로 토큰 사용 불가 상태 보장
  • Todo & Goals
    • 개인 목표 관리, 상태값: 시작 전 / 진행 중 / 완료 / 실패
    • 체크리스트 기반 진행 확인, CRUD 및 체크 히스토리 기록
  • Riot API 연동 (RiotUser, Match, MatchStatSummary)
    • 사용자 전적 수집, 최근 20경기 요약, AI 전략 추천 및 빌드 제안
    • AI 하이라이트 코멘트 생성 및 Dashboard 위젯 표시
  • Community & Open Chat
    • 게시글 CRUD, 비로그인 조회 가능, JWT 인증 적용
    • WebSocket/STOMP 기반 실시간 채팅, 최근 200개 메시지 우선 로드
  • AI 기반 도란봇
    • 유저 전적 기반 전략/빌드 추천 및 일일 요약 문구 제공
    • 서버 성능 고려하여 중복 요청 제한, 피드백 사운드 제공
  • 마이페이지 / 보안
    • 회원 정보 관리, JWT 인증/인가, 세션 및 쿠키 활용
    • Spring Security 기반 최소 권한 원칙, 민감 정보 분리

🚀 주요 개념 및 개발 가이드

📄 API 명세서 작성

  • 클라이언트-서버 통신 정의, 요청 URL, HTTP 메서드, 요청/응답 JSON 포맷, 상태 코드 명확화

🏗️ 3계층 구조

  • Controller → Service → Repository 역할 분리
  • 유지보수성 및 확장성 확보

🔄 JPA(Entity) & 단방향 연관관계

  • 테이블 구조 매핑, 단방향 연관관계 설계
  • ERD 작성과 데이터 정규화로 무결성 유지

📦 DTO & ResponseEntity

  • 데이터 구조 분리 및 HTTP 상태 코드 관리

✅ 입력값 검증 (Jakarta Validation)

  • @NotBlank, @Email, @Valid 적용
  • 잘못된 요청 데이터 차단

🔐 인증/인가

  • JWT 발급/검증, Role 기반 접근 제어
  • Redis 블랙리스트로 토큰 무효화 처리

🧭 AI 분석

  • 최근 전적 20개 기반 전략/빌드 추천
  • 하이라이트 요약 코멘트 생성

💡 느낀 점 및 개선할 점

  • Riot API와 AI를 통합한 서비스 설계 경험, 실무 감각 향상
  • 풀스택 구현으로 프론트-백엔드 연동, WebSocket 실시간 처리 경험
  • ERD와 단방향 연관관계 설계, 데이터 정규화 이해도 증가
  • AI 모델과 게임 데이터를 연계해 실시간 분석/추천 구현 가능
  • 개선점: 배포 시 서브 도메인 및 SSL 인증서 관리, 프론트/백엔드 https 완전 분리 필요

🧾 사용된 주요 기술 / 라이브러리

  • Backend: Spring Boot, Spring MVC, Spring Data JPA, Spring AI, Spring Security, JWT, Redis, WebSocket/STOMP
  • Frontend: Next.js, React, TailwindCSS
  • DB: MySQL, Redis
  • Infra / Deployment: AWS EC2, RDS, ElastiCache, Vercel, Cloudflare
  • Dev Tools: IntelliJ, Git, Postman, ERD Cloud, Zep

🏷️ 필수 키워드

Spring Boot

React

Next.js

JWT

Riot API

AI

WebSocket

Dashboard

Todo

Community

Full-Stack

ERD

DTO

ResponseEntity

Validation

OpenAI API

공유하기
이전 글 TIL - Google Sheet × n8n 데이터 합산 문제 해결다음 글 TIL – HTTPS 인증서 적용 및 프론트·백엔드 연결 문제 해결

목차

  • 📍주제
  • 💬 배운 기술 / 지식
  • 🧩 설명
  • 🚀 주요 개념 및 개발 가이드
  • 📄 API 명세서 작성
  • 🏗️ 3계층 구조
  • 🔄 JPA(Entity) & 단방향 연관관계
  • 📦 DTO & ResponseEntity
  • ✅ 입력값 검증 (Jakarta Validation)
  • 🔐 인증/인가
  • 🧭 AI 분석
  • 💡 느낀 점 및 개선할 점
  • 🧾 사용된 주요 기술 / 라이브러리
  • 🏷️ 필수 키워드

카테고리

Project

태그

#Java#Backend#Spring#Next.js#Pinned

최근 글

Git 요약 (1) - Rebase, Stash, Squash MergeTIL - MSA 핵심 요소 정리TIL - (4) Spring 어노테이션 정리: Mockito를 활용한 단위 테스트TIL - (3) Spring 어노테이션 정리: Lombok Getter, Setter와 생성자TIL - (2) Spring MVC와 WebFlux의 차이: 블로킹과 논블로킹