κ°μ μ μ΄λͺ¨μ§λ‘ νννκ³ , κ·Έ μ΄λͺ¨μ§μ μ΄μΈλ¦¬λ μμμ μΆμ²ν΄μ£Όλ κ°μ± κΈ°λ° λ©λ΄ μΆμ² μλΉμ€ Eatmojiμ λ°±μλ λ ν¬μ§ν 리μ λλ€.
Eatmojiλ κ°μ μν©μ μ΄λͺ¨μ§λ‘ μ ννλ©΄, μ΄μ΄ λ§λ μμμ μΆμ²ν΄μ£Όλ κ°μ± κΈ°λ° λ©λ΄ μΆμ² μλΉμ€μ λλ€. μΆμ² κ²°κ³Όλ λ μνΌλ‘ μ§μ λ§λ€μ΄λ³΄κ±°λ, μ§μ κΈ°λ° λ§μ§ μ 보λ₯Ό ν΅ν΄ λ¨ΉμΌλ¬ κ°λ λ κ°μ§ λ°©μμΌλ‘ μ΄μ΄μ§λλ€.
μ΄ μ μ₯μλ Eatmoji μλΉμ€μ λ°±μλ μλ²λ‘, λ€μν κΈ°λ₯λ€μ APIλ₯Ό μ 곡ν©λλ€.
- π μ¬μ©μ λ‘κ·ΈμΈ/νμκ°μ ν ν° κΈ°λ° μΈμ¦ λ° Spring Securityλ‘ λ³΄μ κ΄λ¦¬
- π κ°μ μ΄λͺ¨μ§λ₯Ό λ°μ΄ν°μ μ μ΄μ©νμ¬ κ°μ κ³Ό μ μλ‘ λ³ν
- π½οΈ ν둬ννΈμ λ°λ₯Έ κ°μ κΈ°λ°/μ¬μ©μ λ§μΆ€ μμ μΆμ²
- π Recipe λ°μ΄ν°μ μ μ΄μ©ν μμ 쑰리 λ μνΌ κ²μ λ° λ§ν¬ μ λ¬
- β μΆμ² κ²°κ³Ό μ’μμ λ° μ¬μ©μ νλ‘ν μ μ₯
πΈhttps://3.37.53.72.nip.io/
- 보μμ 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 (μμ ) # λΌμ΄μ μ€ νμΌ
- Pull Request μ μλ λ°λμ CONTRIBUTING.mdλ₯Ό νμΈν΄μ£ΌμΈμ.
- λΈλμΉ μ λ΅ λ° PR 리뷰 νλ‘μΈμ€κ° μ€λͺ λμ΄ μμ΅λλ€.
- μ»€λ° λ©μμ§λ Conventional Commits νμμ κΆμ₯ν©λλ€.
λ³Έ νλ‘μ νΈλ MIT Licenseμ λ°λΌ μ€νμμ€λ‘ 곡κ°λμ΄ μμ΅λλ€.
- κ³ μ€μ - sseobi16
- κΉμ§ν - jinha0907
- λΌν¬μ - Head-ddy
- μ΄λ―Όκ· - mingyulee327
Made with β€οΈ by Team DionysOS β 2025
This project was created as part of the Open Source Software Project course.