Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ChatBot 프로젝트

alt text

ChatBot Repository



프로젝트 구성원

구성원업무사용 기술
김준건 (jgkim14)백엔드Spring Boot, Node.js
서정훈 (CutTheWire)프로젝트 매니저, 백엔드Spring Boot, FastAPI
이준호 (qwer9679)백엔드Spring Boot, FastAPI
모현준 (Flattt12)백엔드Spring Boot
권재현 (donismoney)백엔드Spring Boot
손유노 (GingGang)프론트엔드React, TypeScript

🏗️ 전체 아키텍처

  • nginx: API Gateway 및 웹 서버 (443 포트, HTTPS 지원)
    • React 프론트엔드 정적 파일 서빙
    • FastAPI/Spring Boot 백엔드 프록시 역할
  • FastAPI: Python 백엔드 API 서버 (8000 포트)
    • Google SMTP 연동 및 MySQL로 이메일 인증 정보 저장
    • 채팅방 CRUD 기능 MongoDB 사용
  • SpringBoot: Java 백엔드 API 서버 (8080 포트)
    • AI용 API(FastAPI)와 채팅방, SMTP용 API(FastAPI) 통합 관리
    • 소셜 로그인 및 사용자 인증 처리
    • 케릭터 챗봇 CRUD 기능
  • admincontroller: Node.js 관리자 컨트롤러 (5785 포트)
    • GCP 연결, 클라우드에 저장된 이미지 관리
  • mysql: 관계형 데이터베이스 (3308 포트)
    • 유저, 유저의 채팅방 정보, 유저의 캐릭터, SMTP 이메일 인증 정보 저장
  • mongodb: NoSQL 데이터베이스 (27017 포트)
    • 채팅방 메시지 저장
  • flyway: 데이터베이스 마이그레이션 도구
    • MySQL 스키마 버전 관리

📋 시스템 아키텍처 다이어그램

System-Architecture-Diagram-ChatBot

📋 Hybrid ERD

Hybrid-ERD-ChatBot

🌐 API Gateway (nginx) 구조

  • 정적 파일 서빙: React 빌드 결과물과 정적 리소스 제공
    • /static/ → 정적 파일 (7일 캐시)
    • CSS, JS, 이미지 파일 등 (30일 캐시)
  • API 라우팅:
    • / → React SPA (index.html 폴백)
    • /sub/ → FastAPI 서버(8000)로 프록시
    • /server → Spring Boot 서버(8080)로 프록시
  • OAuth 인증 처리:
    • /auth/ → 인증 관련 요청 처리
    • Google, Facebook 등 외부 인증 제공자와 연동
    • JWT 토큰 발급 및 검증
  • CORS 설정:
    • 모든 도메인에서의 요청 허용
    • 인증 정보 포함 요청에 대한 처리
  • 에러 핸들링:
    • 404 에러 페이지 설정
    • 서버 에러 시 일반화된 에러 메시지 반환

📅 개발 로드맵 및 버전 릴리즈 일정

간트 차트 (ChatBot 버전 릴리즈)

Gantt-Chart-ChatBot

주요 마일스톤

버전기간주요 성과아키텍처 변화
v0.1.x2024.08-2024.09FastAPI + MongoDB, 채팅 로그 시스템단일 서비스 아키텍처
v0.2.x2024.09-2024.10Spring Boot 통합, 캐릭터 관리다중 서비스 아키텍처
v0.3.x2024.10-2025.03AI API 연동, GitHub ActionsAI 통합 플랫폼
v0.4.x2025.03-2025.05React 프론트엔드, 소셜 로그인풀스택 웹 플랫폼
v0.5.x2025.05클린 아키텍처, DI 패턴API 설계 패턴 혁신
v1.0.x2025.05-2025.06Flyway 마이그레이션, 프로덕션 최적화엔터프라이즈급 완성
v1.1.x2025.06-2025.07모바일 UI 최적화, 사용자 경험 개선사용자 중심 설계

개발 통계

  • 총 개발 기간: 12개월 (2024.07 ~ 2025.07)
  • 메이저 버전: 7개 (v0.1.x ~ v1.1.x)
  • 릴리즈 횟수: 27회
  • 주요 기술 전환: 6회 (단일→다중→AI통합→풀스택→클린→엔터프라이즈→모바일)

🗓️ 버전별 명세

📄 v0.1.x

명세 상세보기
  • First Commit Days : 2024-08-27 (화) 15:35:49 (한국 표준시)
  • Last Commit Days : 2024-09-03 (화) 17:08:48 (한국 표준시)

📄 v0.2.x

명세 상세보기
  • First Commit Days : 2024-09-10 (화) 01:50:24 (한국 표준시)
  • Last Commit Days : 2024-10-26 (토) 16:58:55 (한국 표준시)

📄 v0.3.x

명세 상세보기
  • First Commit Days : 2024-10-31 (목) 14:10:45 (한국 표준시)
  • Last Commit Days : 2025-03-13 (목) 15:58:41 (한국 표준시)

📄 v0.4.x

명세 상세보기
  • First Commit Days : 2025-03-15 (토) 17:08:51 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 09:05:10 (한국 표준시)

📄 v0.5.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 13:59:33 (한국 표준시)
  • Last Commit Days : 2025-05-10 (토) 19:36:21 (한국 표준시)

📄 v1.0.x

명세 상세보기
  • First Commit Days : 2025-05-10 (토) 20:44:08 (한국 표준시)
  • Last Commit Days : 2025-06-19 (목) 20:20:14 (한국 표준시)

📄 v1.1.x

명세 상세보기
  • First Commit Days : 2025-06-19 (목) 21:16:29 (한국 표준시)
  • Last Commit Days : 2025-07-10 (목) 13:40:59 (한국 표준시)

About

ChatBot 웹사이트 프로젝트

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages