Skip to content

EATMOJI-DionysOS/Eatmoji_BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

239 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ Eatmoji Backend

감정을 이λͺ¨μ§€λ‘œ ν‘œν˜„ν•˜κ³ , κ·Έ 이λͺ¨μ§€μ— μ–΄μšΈλ¦¬λŠ” μŒμ‹μ„ μΆ”μ²œν•΄μ£ΌλŠ” 감성 기반 메뉴 μΆ”μ²œ μ„œλΉ„μŠ€ Eatmoji의 λ°±μ—”λ“œ λ ˆν¬μ§€ν† λ¦¬μž…λ‹ˆλ‹€.


πŸ“Œ μ†Œκ°œ

EatmojiλŠ” 감정 상황을 이λͺ¨μ§€λ‘œ μ„ νƒν•˜λ©΄, 이어 λ§žλŠ” μŒμ‹μ„ μΆ”μ²œν•΄μ£ΌλŠ” 감성 기반 메뉴 μΆ”μ²œ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. μΆ”μ²œ κ²°κ³ΌλŠ” λ ˆμ‹œν”Όλ‘œ 직접 λ§Œλ“€μ–΄λ³΄κ±°λ‚˜, μ§€μ—­ 기반 λ§›μ§‘ 정보λ₯Ό 톡해 먹으러 κ°€λŠ” 두 κ°€μ§€ λ°©μ‹μœΌλ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€.

이 μ €μž₯μ†ŒλŠ” Eatmoji μ„œλΉ„μŠ€μ˜ λ°±μ—”λ“œ μ„œλ²„λ‘œ, λ‹€μ–‘ν•œ κΈ°λŠ₯λ“€μ˜ APIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.


βš™οΈ μ£Όμš” κΈ°λŠ₯

  • πŸ” μ‚¬μš©μž 둜그인/νšŒμ›κ°€μž… 토큰 기반 인증 및 Spring Security둜 λ³΄μ•ˆ 관리
  • 😊 감정 이λͺ¨μ§€λ₯Ό 데이터셋을 μ΄μš©ν•˜μ—¬ 감정과 점수둜 λ³€ν™˜
  • 🍽️ ν”„λ‘¬ν”„νŠΈμ— λ”°λ₯Έ κ°μ •κΈ°λ°˜/μ‚¬μš©μž 맞좀 μŒμ‹ μΆ”μ²œ
  • πŸ“ Recipe 데이터셋을 μ΄μš©ν•œ μŒμ‹ 쑰리 λ ˆμ‹œν”Ό 검색 및 링크 전달
  • ⭐ μΆ”μ²œ κ²°κ³Ό μ’‹μ•„μš” 및 μ‚¬μš©μž ν”„λ‘œν•„ μ €μž₯

πŸš€ 배포 링크

🐸https://3.37.53.72.nip.io/

  • λ³΄μ•ˆμƒ Swaggerλ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ λ§ν¬λŠ” 접근이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

πŸš€ Swagger 링크

🐸https://3.37.53.72.nip.io/swagger-ui/index.html
🐸http://3.37.53.72:8000/docs

πŸ§‘β€πŸ’» μ„€μΉ˜ 및 μ‹€ν–‰ 방법

  • 전체적인 κ΅¬μ‘°λŠ” Springμ—μ„œ openAI API λ₯Ό μ΄μš©ν•˜λ €ν•˜λ©΄ FastAPIλ₯Ό λΆˆλŸ¬μ„œ μ‚¬μš©ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

πŸ”Ή κ°œλ°œμžλ‚˜ μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬μžκ°€ λ‘œμ»¬μ—μ„œ ν…ŒμŠ€νŠΈν•˜κ³  싢을 경우, μ•„λž˜μ²˜λŸΌ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

# 1️⃣ Spring Boot
Java SDK 17버전 μ„€μ •.
./gradlew bootRun

> κΈ°λ³Έ ν¬νŠΈλŠ” `http://localhost:8080` μž…λ‹ˆλ‹€.

# 2️⃣ FastAPI
Fast_API_GPT 폴더에 .env파일 생성
.env νŒŒμΌμ— 개인 OPEN_API_KEY λ°œκΈ‰ ν›„ μΆ”κ°€
change_to_json, main을 μ œμ™Έν•œ pyνŒŒμΌμ— λ‹€μŒ λ‚΄μš© μΆ”κ°€

from dotenv import load_dotenv
load_dotenv()

이후 μ„œλ²„ μ‹€ν–‰ 방법:

cd Fast_API_GPT
pip install -r requirements.txt
uvicorn main:app --reload --port 8000

> κΈ°λ³Έ ν¬νŠΈλŠ” `http://localhost:8000` μž…λ‹ˆλ‹€.

</br>

πŸ“ 폴더 ꡬ쑰

EATMOJI_BE/
β”œβ”€β”€ .github/                                                # GitHub μ„€μ • (예: PR ν…œν”Œλ¦Ώ)
β”œβ”€β”€ .gradle/                                                # Gradle μΊμ‹œ/μ„€μ • (μžλ™ 생성)
β”œβ”€β”€ .idea/                                                  # IDE (IntelliJ λ“±) μ„€μ •
β”œβ”€β”€ Fast_API_GPT/                                           # FastAPI 기반 GPT μΆ”μ²œ μ„œλ²„ (Python)
β”œβ”€β”€ gradle/                                                 # Gradle Wrapper κ΄€λ ¨ 파일
β”œβ”€β”€ src/                                                    # μ†ŒμŠ€μ½”λ“œ 루트
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/
β”‚   β”‚   β”‚   └── com/
β”‚   β”‚   β”‚       └── DionysOS/
β”‚   β”‚   β”‚           └── Eatmoji/                            # Spring Boot 메인 νŒ¨ν‚€μ§€
β”‚   β”‚   β”‚               β”œβ”€β”€ config/                         # ν™˜κ²½ μ„€μ • 클래슀
β”‚   β”‚   β”‚               β”œβ”€β”€ controller/                     # API 컨트둀러 (μ—”λ“œν¬μΈνŠΈ)
β”‚   β”‚   β”‚               β”œβ”€β”€ dto/                            # μš”μ²­/응닡 DTO μ •μ˜
β”‚   β”‚   β”‚               β”œβ”€β”€ model/                          # MongoDB λͺ¨λΈ (도메인)
β”‚   β”‚   β”‚               β”œβ”€β”€ repository/                     # MongoDB Repository
β”‚   β”‚   β”‚               β”œβ”€β”€ service/                        # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 μ„œλΉ„μŠ€
β”‚   β”‚   β”‚               β”œβ”€β”€ util/                           # μœ ν‹Έλ¦¬ν‹° 클래슀
β”‚   β”‚   β”‚               └── EatmojiApplication.java         # Spring Boot 메인 μ‹€ν–‰ 파일
β”‚   β”‚   └── resources/                                      # 정적 λ¦¬μ†ŒμŠ€ 및 μ„€μ • 파일 (application.yml λ“±)
β”‚   └── test/
β”‚       β”œβ”€β”€ java/
β”‚       β”‚   └── com/
β”‚       β”‚       └── DionysOS/
β”‚       β”‚           └── Eatmoji/                            # ν…ŒμŠ€νŠΈ μ½”λ“œ
β”‚       β”‚               β”œβ”€β”€ controller/                     # 컨트둀러 ν…ŒμŠ€νŠΈ
β”‚       β”‚               β”œβ”€β”€ repository/                     # Repository ν…ŒμŠ€νŠΈ
β”‚       β”‚               β”œβ”€β”€ service/                        # μ„œλΉ„μŠ€ ν…ŒμŠ€νŠΈ
β”‚       β”‚               └── EatmojiApplicationTests.java    # 톡합 ν…ŒμŠ€νŠΈ
β”œβ”€β”€ .gitignore                                              # Git λ¬΄μ‹œ 파일 λͺ©λ‘
β”œβ”€β”€ build.gradle                                            # Gradle λΉŒλ“œ 슀크립트
β”œβ”€β”€ gradlew                                                 # Gradle Wrapper μ‹€ν–‰ 파일 (λ¦¬λˆ…μŠ€/λ§₯)
β”œβ”€β”€ gradlew.bat                                             # Gradle Wrapper μ‹€ν–‰ 파일 (Windows)
β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md # PR ν…œν”Œλ¦Ώ
β”œβ”€β”€ README.md                                               # ν”„λ‘œμ νŠΈ μ†Œκ°œ λ¬Έμ„œ
β”œβ”€β”€ settings.gradle                                         # Gradle ν”„λ‘œμ νŠΈ μ„€μ •
└── LICENSE (μ˜ˆμ •)                                          # λΌμ΄μ„ μŠ€ 파일


πŸ› οΈ 기술 μŠ€νƒ

βœ”οΈBack-end

βœ”οΈDeployment environment

βœ”οΈCloud Storage

βœ”οΈAI

βœ”οΈAPI document


🀝 κ°€μ΄λ“œ

  • Pull Request μ „μ—λŠ” λ°˜λ“œμ‹œ CONTRIBUTING.mdλ₯Ό ν™•μΈν•΄μ£Όμ„Έμš”.
    • 브랜치 μ „λž΅ 및 PR 리뷰 ν”„λ‘œμ„ΈμŠ€κ°€ μ„€λͺ…λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

  • 컀밋 λ©”μ‹œμ§€λŠ” Conventional Commits ν˜•μ‹μ„ ꢌμž₯ν•©λ‹ˆλ‹€.

πŸ“„ λΌμ΄μ„ μŠ€

λ³Έ ν”„λ‘œμ νŠΈλŠ” MIT License에 따라 μ˜€ν”ˆμ†ŒμŠ€λ‘œ κ³΅κ°œλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.


😊 Contributors

  • κ³ μ€€μ„­ - sseobi16
  • κΉ€μ§„ν•˜ - jinha0907
  • 라희수 - Head-ddy
  • 이민규 - mingyulee327

πŸ“š μœ μš©ν•œ 링크



Made with ❀️ by Team DionysOS – 2025
This project was created as part of the Open Source Software Project course.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages