Skip to content

yenzip/IEUM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

884 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

로고 이미지

목차

✨ 서비스 소개✨

"위치 기반 감정 소통 서비스, 이음"

🕰️ 진행 기간 : 2025. 02.24 ~ 2025. 04 .11 (7주)

"이음은 위치 기반으로 감정을 기록하고, AI가 감정 분석과 음악 추천을 통해 사용자에게 맞춤형 감정 경험을 제공하는 서비스입니다. 사용자는 자신의 위치에서 감정 글을 작성하고, 감정 리포트와 감정 캘린더 등 다양한 기능을 통해 감정 변화를 시각적으로 확인할 수 있습니다"

✅ 주요 기능 summary

기능 설명
1️⃣ 로그인 서비스 이용을 위한 인증 기능
2️⃣ 이음글 작성 및 조회 현재 나의 위치를 기반으로 이음글을 작성하고 조회할 수 있는 기능
3️⃣ AI 감정 분석 이음글을 작성 시 작성한 이음글의 감정을 분석하여 추가해주는 기능
4️⃣ 비속어 필터링 이음글을 작성 시 비속어를 필터링하여 작성할 수 있는 기능
5️⃣ 이음악 추천 나의 감정에 어울리는 음악을 추천해주는 기능
6️⃣ 감정 리포트 나의 한달 감정 리포트를 조회할 수 있는 기능
7️⃣ 나만의 감정 캘린더 나의 기록을 캘린더를 통해 확인할 수 있는 기능

👨🏻‍💻 함께한 팀원 및 역할 분담

전종우 박창조 박민경 엄예림 김수민 배승호
FE FE FE BE BE, AI BE, AI, Infra
이름 역할
전종우 - 이음글 조회
- 지도 클러스터링
- 음악 관련 기능
- 이음악 추천 페이지
박창조 - 로그인 페이지
- 이음글 작성
- 감정 리포트
- 이용약관
- Google Analytics
박민경 - 나만의 감정 캘린더
마이페이지
- 온보딩 페이지
엄예림 - DB 설계
- 인증/인가
- 음악 API
- 이미지 처리
- 이음글 조회
김수민 - DB 설계
- 이음글 작성
- 이음글 조회
- 감정 리포트
- 감정 캘린더
- 이음악 추천
배승호 - AI 감정 분석
- AI 비속어 필터링
- CI/CD 구축
- MLOps 파이프라인 구축
- 이음글 공감

✨ 시스템 아키텍처

시스템 아키텍처

✨ 기술 스택

👍🏻 Frontend

vite pnpm React Mattermost reactrouter tailwindcss zustand Tanstack query axios googleanalytics chartjs lodash

👍🏻 Backend

gradle springboot springsecurity spring_JPA PostgreSQL Redis

👍🏻 Data/AI

FastAPI MongoDB Qdrant

👍🏻 DevOps

Docker nginx amazonec2

👍🏻 CI/CD

Jenkins

👍🏻 협업 Tool

Jira Mattermost figma notion gitlab

서비스 소개 gif

🔭 주요 기능

1️⃣ 로그인

"서비스 이용을 위한 인증 기능"

  • kakao OAuth 2.0 로그인 기능
  • 토큰 만료 시 자동 로그인 기능
로그인

2️⃣ 이음글 조회

"현재 나의 위치를 기반으로 이음글을 조회할 수 있는 기능"

  • Naver Map API를 통해 현재 위치를 조회하고 이음글을 작성할 수 있는 기능
  • 클러스터링 기능을 통해 비슷한 위치의 이음글을 묶어서 조회할 수 있는 기능
  • 공감 기능을 통해 좋아요를 누른 이음글을 조회할 수 있는 기능
  • 정렬 (최신순, 공감순, 조회순) 기능
이음글

3️⃣ 이음글 작성 - 현재 위치 조회 및 이음글 작성

"이음글을 작성 시 현재 위치를 조회하여 이음글을 작성할 수 있는 기능"

  • 현재 위치를 기반으로 작성하되, 정확한 위치를 찾지 못할 경우 조정하는 기능
  • 현재 GPS 기준 반경 50m 이내에서 조정하여 작성 하도록 제한
현재 위치 조회

4️⃣ 이음글 작성 - 음악 삽입

"이음글을 작성 시 음악을 삽입할 수 있는 기능"

  • Spotify API를 통해 음악을 삽입할 수 있는 기능
음악 삽입

5️⃣ 이음글 작성 - AI 감정 분석

"이음글을 작성 시 작성한 이음글의 감정을 분석하여 추가해주는 기능"

  • AI 모델을 통해 작성한 글의 내용을 분석하여 6가지의 감정으로 분석
AI 감정 분석

6️⃣ 이음글 작성 - 비속어 필터링

"이음글을 작성 시 비속어를 필터링하여 작성할 수 있는 기능"

  • AI 모델을 통해 작성한 글의 내용을 분석하여 비속어 필터링
비속어 필터링

7️⃣ 이음악 추천

"나의 감정에 어울리는 음악을 추천해주는 기능"

  • 나의 주요 감정과 유사도 높은 음악 추천
  • 백터 데이터베이스에서 유사도를 계산하여 추천
  • PIP 재생 기능
이음악 추천 이음악 플레이어

8️⃣ 감정 리포트

"나의 한달 감정 리포트를 조회할 수 있는 기능"

감정 리포트

9️⃣ 나만의 감정 캘린더

"나의 기록을 캘린더를 통해 확인할 수 있는 기능"

나만의 감정 캘린더

🔟 기타

Not Found 페이지 이용약관 관리 온보딩 페이지
404 이용약관 소개 페이지
존재하지 않는 페이지에 접속 시 이용약관을 관리하는 기능 서비스 첫 화면

✅ AI 활용 기능

1️⃣ 감정 분석

🔴 기능 설명

  • 사용자가 이음글을 작성하면, "감정 분석 모델" 이 자동으로 감정을 분류
  • 기본 분류 결과는 UI 상에 자동 표시되며, 사용자는 필요 시 직접 감정을 수정(라벨링)할 수 있음
  • 사용자의 수정 이력(입력 텍스트 + 모델 감정 + 사용자 선택 감정)은 별도 저장되어 감정 분류 모델의 재학습 데이터로 활용 별도 저장되어 감정 분류 모델의 재학습 데이터로 활용

🔴 도입 목적

  • 모델의 초기 분류 결과에 대한 사용자 피드백을 자연스럽게 수집
  • 사용자 중심의 정제된 감정 데이터셋 확보
  • 지속적인 학습을 통해 개인화 및 문맥 인식 성능 향상

🔴 활용 예시

  • 감정 분류 모델 Fine-tuning 시, 사용자 수정 데이터를 고신뢰 라벨로 활용
  • 감정 카테고리 추가 시, 실제 사용자 선택 데이터를 기반으로 초기 학습

2️⃣ 비속어 필터링

🔴 기능 설명

  • 사용자가 이음글을 작성하면, "비속어 필터링 모델" 이 자동으로 비속어를 필터링
  • 기본 필터링 결과는 UI 상에 자동 표시되며, 사용자는 필요 시 직접 비속어를 수정(라벨링)할 수 있음

🔴 도입 목적

  • 사용자 중심의 정제된 비속어 데이터셋 확보
  • 지속적인 학습을 통해 비속어 분류 성능 향상

📚 참고 문서

📊 ERD

ERD

🎨 디자인 시스템

디자인 시스템

🎥 서비스 소개 영상

서비스 소개 영상 ↗️

🎵 서비스 주제가 (AI 생성)

서비스 주제가 ↗️

📝 프로젝트 짧은 회고

이름 내용
박창조 "서비스를 운영하고 피드백을 받는 것을 처음으로 진행해본 프로젝트였기에 큰 애정을 가지고 개발에 임할 수 있었습니다. 서비스를 운영하는 과정에서 감사한 많은 피드백을 통해 가독성 측면과, 버튼을 누르는 행위 등 사용자 경험을 어떻게 하면 더 개선할 수 있을지 배울 수 있었습니다. 더불어 개발 과정에서 성능 최적화까지 고민하며 기술적인 측면에서도 한걸은 더 성장할 수 있었던 시간이었습니다."
박민경 "좋은 팀원들과 재미있는 아이디어를 구현해볼 수 있어서 즐거웠습니다! React를 처음 사용하여 프로젝트를 구현하면서, 어려움을 겪기도 했었는데 팀원들의 도움으로 무사히 마칠 수 있었습니다. 예정보다 늦어진 배포로 많은 사용자 피드백을 받지는 못했지만, 그래도 사용자 피드백을 받았기 때문에 앞으로는 이를 반영하여 구현해보고 싶습니다."
엄예림 "서비스 배포 과정에서 수집된 사용자 피드백 덕분에 개선해야 할 점과 강점을 명확히 인식하며, 앞으로의 발전 방향을 구체적으로 재정립할 수 있는 값진 교훈을 얻었습니다."
김수민 "프로젝트를 진행하며 어려운 점도 많았지만 팀원들 덕분에 잘 마무리 할 수 있었던 것 같습니다. 더 해보고 싶은 기능도 있었고 아쉬움이 남는 부분도 있지만, 결과적으로는 예쁜 프로젝트 잘 완성한 것 같아서 뿌듯합니다. 다음 프로젝트에서는 이번 프로젝트의 경험을 바탕으로 더 재밌고 좋은 서비스 만들어보고 싶습니다!"
배승호 "빠른 개발 주기와 배포를 위해 초기에 애자일 개발 프레임워크를 도입하였는데, 체계가 없어보였던 애자일이 의외로 상당히 정교한 일정관리가 필요하다는 것을 알 수 있었습니다. 좌충우돌 애자일 개발기였지만, 이번 프로젝트에서 겪은 경험이 다음 프로젝트에서 더 나은 성과를 위한 초석이 될 것 같아 뜻 깊은 시간이었습니다."
전종우 "이번 프로젝트에서는 다양한 기능을 구현하기보다는 일부 기능을 상세히 구현해볼 수 있었고, 이전 프로젝트와는 다르게 애자일 개발 방법론으로 진행하였으나 처음 경험하는 프로세스에 일정 관리나 진행 과정이 다소 유연하지는 못했던 것 같습니다. 그럼에도 이번 프로젝트를 통해 협업 과정에서 강조되는 소통, 의견 수립, 일정 관리 등의 중요성을 몸소 깨닫게 되는 값진 경험을 한 것 같습니다. 이 경험을 기반으로 이후 프로젝트에서는 좀 더 성숙하게 임할 수 있으리라 확신합니다."

About

지금 여기, 감정의 순간을 기록하다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors