Skip to content

여러 캐릭터들과 대화를 통해 감정을 치유하는 웹/앱 서비스

Notifications You must be signed in to change notification settings

pirogramming/FeelBuddy

 
 

Repository files navigation

CD Pipeline image

📰 FEELBUDDY

🏆 피로그래밍 21기 최종 프로젝트 작품

📜 Contents

  1. Overview
  2. 서비스 화면
  3. 주요 기능
  4. 개발 환경
  5. 시스템 아키텍처
  6. 기술 특이점
  7. 기획 및 설계 산출물
  8. Conventions
  9. 팀원 소개

✨ Overview

🏆 개발 기간: 24.07.01 ~ 24.08.20
현대 사회에서 많은 사람들이 스트레스와 우울감을 경험하고 있으며, 이를 해결하기 위한 심리적 지원이 필요합니다. 하지만 정신 건강 전문가와의 상담은 비용과 시간이 많이 들고, 접근성의 문제도 있을 수 있습니다. 실시간 감정 치유 웹 서비스는 이러한 문제를 해결하기 위한 대안으로, 사용자가 각기 다른 개성을 가진 캐릭터들과 대화를 통해 감정적 지지를 받을 수 있게 합니다. 특히, 현대인들이 쉽게 접근할 수 있는 디지털 플랫폼을 통해, 언제 어디서나 감정 상태를 공유하고 위로를 받을 수 있다는 점에서 유용합니다.

✨ FEELBUDDY의 배포 사이트

✨ FEELBUDDY의 소통 플랫폼

🏆 노션
🏆 ZEP

👀 서비스 화면

✨ 모든 페이지 모바일(아이폰 12 Pro 기준 max-width:480px) 지원

  • 닌텐도 화면 적용
  • 화면이 작아질 수록 DS - GBA - GDC 로 구현했다.
  • Start 버튼을 통해 캐릭터리스트로 갈 수 있다.
  • 로그인 및 회원가입 버튼을 누르수 있다

회원가입 & 로그인 & 로그아웃

  • 네이버, 카카오 구글 소셜 로그인 및 유저 회원가입/로그인
  • 로그인을 하면 캐릭터 리스트로 넘어간다.

마이페이지

  • 프로필 이미지 변경
  • 닉넴임 변경

캐릭터 리스트

  • 생성, 삭제, 편집 버튼을 이용해 캐릭터 관리

캐릭터 생성

  • 5개의 캐릭터 중 하나를 뽑는다. 하지만 이미 생성된 캐릭터는 못 고른다.
  • 캐릭터의 이름과 선택한 이유를 적으면 생성이 된다.

휴지통

  • 캐릭터 리스트에서 버린 캐릭터들을 볼 수 있다.
  • 여기서는 복구 및 영구 삭제를 할 수 있다.

챗봇

  • 음성 인식을 통해 대화를 할 수 있다.
  • 영상통화 버전에서는 TTS 구현되어있다.
  • Ajax를 통해 실시간으로 캐릭터와 채팅!

피드백

  • 별점 및 리뷰를 통해 해당 에플리케이션의 평가를 알 수 있다.
  • 피드백을 통해 추후 계속 업데이트 할 예정이다.

감정 로그

  • 5개의 캐릭터들과 챗봇을 통해 나온 결과를 보여준다.
  • 주간 및 누적 기능이 있어 감저의 정보를 쉽게 파악할 수 있다.

✨ 주요 기능

  • 캐릭터 기능

    • 분노, 기쁨, 불안, 두려움, 불안 총 5개의 캐릭터를 생성할 수 있다.
    • 생성된 캐릭터를 수정 및 휴지통에 버릴 수 있다.
    • 휴지통에 버려진 캐릭터는 다시 복구 할 수 있고 영원히 삭제할 수 있다.
  • 프롬프트 설계

    • 총 5개의 캐릭터마다 프롬프트를 설계한다.
    • 프롬프트에 이전 대화를 기억할 수 있도록 DB에서 해당 데이터를 찾아와 프롬프트에 넘겨준다.
  • 실시간 AI와 챗봇

    • Open AI를 통해 API와 연결한뒤 사용자 답변에 따른 AI 답변이 제공이 된다.
    • Ajax를 통해 실시간으로 대화가 진행되며 시간 마지막 답변들도 실시간으로 추가가 된다.
  • 챗봇 TTS

    • 영상 통화 화면에 넘어간뒤 사용자가 답하면 AI 답변이 TTS로 제공이 된다.
    • 여러 목소리 TTS 기능이 설정이 되어있다.
  • 감정 로그

    • 사용자가 각각의 캐릭터마다 대화한 기록을 수치화하여 로그로 보여준다.
    • 누적 및 주간이 있어 해당 감정 로그를 확인할 수 있다.
  • 피드백

    • 사용자들이 서비스를 이용하고 나서 후기를 올리 수 있는 공간이다.
  • 회원 관리

    • 네이버, 구글, 카카오 소셜 로그인 기능을 도입했다.
    • 비밀번호 재설정 기능 도입했다.
  • Redis 캐싱 활용

    • 동일한 요청이 들어올시 데이터를 재활용하여 응답 시간 최소화하였다.

🖥️ 개발 환경

Management Tool

  • 형상 관리 : Git
  • 커뮤니케이션 : Zep, Notion
  • 디자인 : Figma

🐳 Backend

  • Python 3.8.0
  • Django 4.2.x
  • pipenv or poetry (패키지 관리 도구)
  • Redis 5.3.0
  • Jupyter Notebook 6.4.12

🦊 Frontend

  • lang: HTML5, CSS3, JAVASCRIPT

🗝️ API

🗂️ DB

  • MySQL 8.0.30

🌐 Server

  • AWS EC2 (Ubuntu 20.04)
  • Nginx 1.23 (Reverse Proxy)
  • Gunicorn 20.1.0 (WSGI Application Server)
  • HTTPS (TLS 1.2)
  • Redis 5.3.0

🔨 IDE

  • Pycharm 2023.2
  • MySQL Workbench 8.0.29
  • VSCode 1.69.2

🖼️ Requirements.txt

aiohttp==3.9.5
aiosignal==1.3.1
annotated-types==0.7.0
anyio==4.4.0
asgiref==3.8.1
attrs==23.2.0
certifi==2024.7.4
cffi==1.16.0
charset-normalizer==3.3.2
colorama==0.4.6
contourpy==1.2.1
cryptography==43.0.0
cycler==0.12.1
distro==1.9.0
Django==5.0.8
django-allauth==0.63.6
django-environ==0.11.2
fonttools==4.53.1
frozenlist==1.4.1
h11==0.14.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
jwt==1.3.1
kiwisolver==1.4.5
matplotlib==3.9.0
multidict==6.0.5
mysqlclient==2.2.4
numpy==2.0.1
openai==0.28.0
packaging==24.1
pillow==10.4.0
PyAudio==0.2.14
pycparser==2.22
pydantic==2.8.2
pydantic_core==2.20.1
pydub==0.25.1
PyJWT==2.8.0
PyMySQL==1.1.1
pyparsing==3.1.2
python-dateutil==2.9.0.post0
pytz==2024.1
redis==5.1.0
django-redis==5.3.0
requests==2.32.3
setuptools==72.1.0
six==1.16.0
sniffio==1.3.1
SpeechRecognition==3.10.4
sqlparse==0.5.1
tqdm==4.66.4
typing_extensions==4.12.2
tzdata==2024.1
urllib3==2.2.2
yarl==1.9.4

💫 시스템 아키텍처

image

✨ 기술 특이점

  • 캐릭터마다 고유한 대화 스타일을 설정해 사용자에게 더 자연스럽고 개별화된 경험을 제공했습니다.
  • Redis를 활용해 동일한 요청에 대해 데이터를 재활용함으로써 불필요한 처리 시간을 줄이고 빠른 응답을 가능하게 했습니다.

📂 기획 및 설계 산출물

image

image

image

💞 팀원 소개

❤️‍🔥 FEELBUDDY를 개발한 피로그래밍 21기 팀원들을 소개합니다!
나예원 최승호 전진명 이민수
Leader & Frontend & Designer Backend & AI Frontend & Backend Backend

😃 팀원 역할

  • 나예원
    • 팀장, 기획, 캐릭터 및 로고 디자인, 프론트, 와이어프레임 설계, 3D CSS 설계, AI 프롬프트 설계
  • 최승호
    • ERD 설계, 챗봇 기능, 캐릭터 관리 기능, REST API 설계, AWS 서버 배포 및 CICD 설정
  • 전진명
    • 회원관리, 마이페이지, 피드백, 감정 로그
  • 이민수
    • 감성 글귀, User 닉네임 랜덤 기능, 캐릭터 생성관리 기능, 인스타 광고, flutter webview

About

여러 캐릭터들과 대화를 통해 감정을 치유하는 웹/앱 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 63.3%
  • HTML 21.3%
  • JavaScript 9.7%
  • Python 5.7%