|
|
| 80번째 줄: |
80번째 줄: |
| | ===상세설계 내용=== | | ===상세설계 내용=== |
| | | | |
| − |
| |
| − | == 가. 기술 스택 ==
| |
| − |
| |
| − | === 1. Front-end ===
| |
| − |
| |
| − | ==== 1.1 React Native Expo ====
| |
| − |
| |
| − | * React Native 기반의 개발 플랫폼으로, 크로스 플랫폼 모바일 애플리케이션을 효율적으로 개발할 수 있다.
| |
| − | * Expo의 내장 API와 컴포넌트를 활용하여 이미지 선택, 위치 정보 등의 네이티브 기능을 간편하게 구현한다.
| |
| − | * 개발 환경 설정의 복잡성을 줄이고, iOS와 Android 동시 개발을 통해 효율성을 극대화한다.
| |
| − | * expo-image-picker를 통한 사진 업로드 기능과 expo-notifications를 활용한 푸시 알림 서비스를 구현한다.
| |
| − |
| |
| − | ==== 1.2 소셜 로그인 통합 ====
| |
| − |
| |
| − | * @react-native-seoul/kakao-login과 @react-native-seoul/naver-login을 활용한 간편 로그인 서비스를 구현한다.
| |
| − | * expo-apple-authentication을 통한 Apple 로그인 지원으로 iOS 사용자 편의성을 향상시킨다.
| |
| − | * expo-auth-session을 활용한 OAuth 2.0 인증 플로우를 구현한다.
| |
| − |
| |
| − |
| |
| − |
| |
| − | === 2. Back-end ===
| |
| − |
| |
| − | ==== 2.1 Spring Boot ====
| |
| − |
| |
| − | * 스프링 프레임워크를 기반으로 한 빠르고 간편한 백엔드 프레임워크이다.
| |
| − | * Spring Security, Spring Data JPA, Spring Validation 등의 다양한 기능을 플러그인 방식으로 쉽게 확장시킬 수 있다.
| |
| − | * 내장 톰캣 서버를 통한 독립 실행 가능한 애플리케이션 구성으로 배포와 운영을 간소화한다.
| |
| − | * AI 서버와의 HTTP 통신을 위한 RestTemplate/WebClient를 활용하여 마이크로서비스 아키텍처를 구현한다.
| |
| − |
| |
| − | ==== 2.2 Spring Data JPA ====
| |
| − |
| |
| − | * 데이터베이스와의 상호작용을 간단하게 만들어주는 ORM 기술이다.
| |
| − | * JPA를 통한 객체와 관계형 데이터베이스 간의 매핑을 자동화한다.
| |
| − | * Repository 패턴을 통한 데이터 액세스 계층의 추상화로 개발 생산성을 향상시킨다.
| |
| − | * 사용자 정보, 일기 데이터, 사진 메타데이터 등의 관계형 데이터를 효율적으로 관리한다.
| |
| − |
| |
| − | ==== 2.3 Spring Security ====
| |
| − |
| |
| − | * 스프링 프레임워크 기반의 포괄적인 보안 프레임워크이다.
| |
| − | * JWT 기반 무상태 인증 시스템을 구현하여 확장성과 성능을 최적화한다.
| |
| − | * OAuth 2.0 소셜 로그인 통합으로 사용자 편의성과 보안성을 동시에 확보한다.
| |
| − | * 개인 사진과 일기 데이터 보호를 위한 강화된 보안 정책을 적용한다.
| |
| − |
| |
| − | ==== 2.4 MySQL ====
| |
| − |
| |
| − | * 관계형 데이터베이스 관리 시스템(RDBMS)으로 ACID 특성을 보장하는 안정적인 데이터 저장소이다.
| |
| − | * 트랜잭션 지원을 통한 데이터 무결성 보장과 동시성 제어를 수행한다.
| |
| − |
| |
| − |
| |
| − |
| |
| − | === 3. AI ===
| |
| − |
| |
| − | ==== 3.1 FastAPI ====
| |
| − |
| |
| − | * Python 기반의 웹 프레임워크로 AI 모델 서빙에 최적화되어 있다.
| |
| − | * Spring Boot 백엔드 서버로부터 이미지 분석 요청을 받아 AI 처리 결과를 반환하는 마이크로서비스로 동작한다.
| |
| − |
| |
| − | ==== 3.2 OpenAI GPT API ====
| |
| − |
| |
| − | * OpenAI에서 제공하는 대규모 언어 모델 API로 고품질의 자연어 생성 서비스를 제공한다.
| |
| − | * GPT-4.1을 활용한 일기 자동 생성과 GPT-4.1-nano를 통한 감정 이모티콘 추천 기능을 구현한다.
| |
| − | * GPT-4o-mini를 활용하여 업로드된 여러 사진 중 베스트샷을 자동 선별하는 이미지 분석 기능을 제공한다.
| |
| − | * 프롬프트 엔지니어링을 통한 개인화된 일기 작성 스타일 적용으로 사용자별 맞춤형 콘텐츠를 생성한다.
| |
| − |
| |
| − | ==== 3.3 Google Gemini API ====
| |
| − |
| |
| − | * Google에서 제공하는 멀티모달 AI 모델로 일기 수정 및 개선 서비스를 제공한다.
| |
| − | * Gemini-2.5-flash를 활용하여 사용자가 작성한 일기의 문체와 내용을 자연스럽게 수정한다.
| |
| − |
| |
| − | ==== 3.4 Pydantic ====
| |
| − |
| |
| − | * FastAPI와 긴밀하게 통합된 데이터 검증 라이브러리로 API 요청/응답 데이터의 타입 안전성을 보장한다.
| |
| − | * 자동 데이터 검증과 직렬화/역직렬화를 통한 안정적인 데이터 처리를 수행한다.
| |
| − |
| |
| − |
| |
| − |
| |
| − | === 4. Infra ===
| |
| − |
| |
| − | ==== 4.1 AWS EC2 (Elastic Compute Cloud) ====
| |
| − |
| |
| − | * Spring Boot 백엔드 서버와 FastAPI AI 서버를 각각 독립된 인스턴스에서 호스팅한다.
| |
| − | * 가상 서버 인스턴스를 제공하여 마이크로서비스 아키텍처를 안정적으로 운영한다.
| |
| − |
| |
| − | ==== 4.2 AWS S3 (Simple Storage Service) ====
| |
| − |
| |
| − | * 사용자가 업로드하는 이미지 파일을 안전하고 확장 가능한 객체 스토리지에 저장한다.
| |
| − |
| |
| − | ==== 4.3 AWS RDS (Relational Database Service) ====
| |
| − |
| |
| − | * MySQL 데이터베이스를 클라우드에서 안정적으로 운영하기 위한 서비스이다.
| |
| − | * 클라우드 환경에서의 확장성과 안정성을 확보하여 사용자 및 일기 데이터를 관리한다.
| |
| − |
| |
| − | ==== 4.4 AWS Route 53 ====
| |
| − |
| |
| − | * 고성능 DNS 웹 서비스로 도메인 관리와 트래픽 라우팅을 처리한다.
| |
| − |
| |
| − |
| |
| − |
| |
| − | === 5. CI/CD ===
| |
| − | ==== 5.1 GitHub Actions ====
| |
| − |
| |
| − | * GitHub 저장소와 통합된 CI/CD 플랫폼으로 코드 변경 시 자동화된 빌드와 배포를 수행한다.
| |
| − | * YAML 기반의 워크플로우 정의를 통해 테스트, 빌드, 배포 파이프라인을 코드로 관리한다.
| |
| − | * 브랜치 전략과 연동하여 개발, 스테이징, 프로덕션 환경별 자동 배포를 구현한다.
| |
| − | * AWS CLI와 연동하여 EC2 인스턴스 배포 자동화를 처리한다.
| |
| − |
| |
| − |
| |
| − |
| |
| − | 필요하다면 위 항목을 `.txt` 또는 `.wiki` 파일로 저장할 수도 있습니다. 다음 내용도 변환해줄까?
| |
| | | | |
| | ==결과 및 평가== | | ==결과 및 평가== |
00000..