Skip to content

lsh7897/florAI

Repository files navigation

📎 감성을 담은 꽃 선물, 플로라이
(AI 기반 개인 맞춤형 꽃 추천 서비스)

👀 서비스 소개

  • 서비스명: FlorAI (모바일 웹)
  • 서비스 설명:
    사용자 기념일, 감정 키워드, 선물 대상자 정보 등을 바탕으로
    AI가 적절한 꽃을 추천하고, 기념일 정보 제공, 꽃말 도감까지 제공하는
    AI 기반 맞춤형 꽃 추천 서비스 플랫폼입니다.
    초보자도 쉽게 꽃을 고를 수 있도록 감성적인 UI/UX를 제공합니다.

📅 프로젝트 기간

2025.02.27 ~ 2025.04.15 (약 7주)


⭐ 주요 기능

  • 사용자의 선물 대상자, 감정, 상황 정보를 기반으로 AI 꽃 추천
  • 꽃말 의미에 기반한 감성적 큐레이션
  • 모바일/웹 기반 직관적 UI/UX 설계

동작 구조

  1. 프론트 → 백엔드(Spring)로 질문 키워드 전송 (JSON)
  2. 백엔드 → Python FastAPI 추천 서버에 전달
  3. Python 서버 → LangChain으로 문장 3개 확장(desc/emotion/meaning)
  4. 각 문장을 text-embedding-3-small로 임베딩 → Qdrant에서 유사도 검색
  5. Top 10 추출 → 유사 그룹화 + 랜덤 추출 → 3개 선택 → GPT로 추천 이유 생성
  6. 추천 결과 (FLW_IDX, 이유) → 백엔드로 전송
  7. 백엔드는 꽃 메타데이터와 매칭해서 프론트로 전달

⛏ 기술스택

구분 내용
사용언어
라이브러리
개발도구
서버환경
데이터베이스
AI 및 기타
협업도구

⚙ 시스템 아키텍처(구조)

image

📌 서비스 흐름도

image


📌 ER다이어그램

image

🖥 화면 구성


Main

꽃말도감

Shop

기념일

로그인

회원가입

상품정보

장바구니

추천 설문

추천 결과

👨‍👩‍👦‍👦 팀원 역할

이름 역할 GitHub
전호원 팀장, 기획, Front-end, DB 설계 및 구축 GitHub
이석현 데이터 수집, 크롤링, AI 추천 모델링 GitHub
김성하 Back-end 개발, DB 설계 및 구축 GitHub

🤾‍♂️ 트러블슈팅

  • 문제1: 추천 정확도 부족

    • 원인: 사용자의 입력값이 추상적일 경우, 의미 매칭이 부정확했음
    • 해결: GPT 기반 LangChain으로 감성 키워드를 꽃말 벡터로 연결하는 매핑 로직 개선
  • 문제2: 로그인 세션 유지 문제

    • 원인: React 세션 토큰이 새로고침 시 삭제됨
    • 해결: sessionStorage 활용 및 Redux로 사용자 로그인 상태 전역 관리
  • 문제3: Swiper.js 반응형 오류

    • 원인: 카테고리 배너에 grab-cursor가 작동하지 않음
    • 해결: Swiper 옵션에서 grabCursor: true 설정 후 CSS 병행 수정
  • 문제4: 벡터 DB 연동 실패

    • 원인: Qdrant API 접근 권한 설정 누락
    • 해결: API 키 활성화 및 IP 화이트리스트 적용으로 정상 연동

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors