Skip to content

Choiyeongsu13/NutrAI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NutrAI (nutrition + AI)

Shoot for your health, NutrAI for your diet.

"식단 기록의 번거로움을 혁신으로, NutrAI가 스마트한 건강 관리를 현실화합니다."



목차

  1. 팀 소개
  2. 프로젝트 소개
  3. 주요 기능
  4. 기술 스택
  5. 시스템 아키텍처
  6. 협업 컨벤션
  7. 설치 및 실행 방법

팀 소개 (Team Moonshot)

이름 직책 역할 담당 업무
김영서 팀장 App / PM Flutter 앱 개발, UI/UX 설계, 전체 일정 관리
김서연 팀원 BackEnd FastAPI 서버 구축, DB 설계, API 명세서 작성
신동하 팀원 AI / Data YOLOv11 모델 학습, 영양 DB 전처리, RAG 엔진 최적화
이호연 팀원 BackEnd FastAPI 서버 구축, DB 설계, API 명세서 작성
최영수 팀원 AI / Data YOLOv11 모델 학습, 영양 DB 전처리, RAG 엔진 최적화

프로젝트 소개

1. 기획 배경

  • Pain Point: 식단 관리의 핵심은 '기록'이지만, 수기 입력의 번거로움과 부정확한 영양 정보로 인해 다이어터와 당뇨 환자들이 쉽게 중도 포기하는 문제가 발생합니다.
  • Solution: 사진 촬영 한 번으로 식단을 자동 인식하고, 공신력 있는 DB를 바탕으로 정밀한 분석과 개인 맞춤형 AI 피드백을 제공하여 지속 가능한 식단 관리를 돕습니다.

2. 주요 타겟

  • 만성질환자 : 식단 기록이 필수적인 당뇨 및 고혈압 환자.
  • 헬스 및 자기관리를 위한 사용자 : 체계적인 영양 섭취와 데이터 기반 성장을 원하는 사용자.

주요 기능 (Features)

AI 식단 자동 기록 (Smart Capture)
  • YOLOv11 객체 탐지 기술을 활용하여 이미지 내 음식의 종류와 수량을 실시간으로 분석합니다.
  • 한국식품영양성분표 DB와 연동하여 칼로리 및 탄단지 즉시 분석.
지능형 대시보드 (Dashboard)
  • 오늘 남은 권장 섭취량 시각화.
  • 일별/주별 기록 추이를 통한 건강 상태 트래킹.
맞춤형 AI 코칭 (RAG Engine)
  • 사용자 건강 데이터(키, 몸무게, 활동량) 기반 맞춤 영양 가이드.
  • RAG(검색 증강 생성) 를 통해 최신 영양학 근거에 기반한 챗봇 답변 제공.

🛠 기술 스택

Frontend

Backend

AI & Data

DevOps & Tools


시스템 아키텍처

graph TD
    User((사용자)) --> App[Flutter App]
    App --> Server[FastAPI Server]
    Server --> YOLO[YOLOv11 Detection]
    Server --> DB[(MySQL)]
    Server --> RAG[RAG + GPT Engine]
    YOLO --> Server
    DB --> Server
    Server --> App
Loading

협업 컨벤션 (Convention)

Git Commit Message 규칙

"태그: 상세 내용" 형식을 준수합니다. (예: feat: 로그인 기능 추가)

태그 의미
feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정 (README 등)
design UI 디자인 변경
chore 빌드 업무, 패키지 설정 수정
refactor 코드 리팩토링
Branch 전략
  • main: 배포 가능한 최종 코드
  • develop: 개발 중인 코드들이 모이는 곳
  • feat/app: 앱 관련 기능 개발
  • feat/server: 서버 API 개발
  • feat/ai: AI 모델 학습 및 데이터 처리

설치 및 실행 방법 (Installation)

1. 프로젝트 클론

git clone https://github.com/nisdh2916/NutrAI.git
cd NutrAI

2. Frontend (Flutter) 실행

cd app
flutter pub get
flutter run

3. Backend (FastAPI) 실행

# 프로젝트 루트(NutrAI/)에서 실행
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r server/requirements.txt
uvicorn server.main:app --reload

4. API 동작 확인

curl http://127.0.0.1:8000/health

프로젝트 구조

NutrAI/
├── .github/                # GitHub Actions CI/CD 워크플로우
├── app/                    # Flutter 프론트엔드 (Dart)
│   ├── android/            # 안드로이드 네이티브 설정
│   ├── lib/
│   │   ├── core/           # 공통 유틸, 테마, 라우터
│   │   ├── features/       # 기능별 모듈 (촬영, 분석, 추천, 리포트)
│   │   ├── models/         # 데이터 모델 (User, Meal 등)
│   │   └── data/           # SQLite 로컬 캐시 처리
│   └── pubspec.yaml        # Flutter 패키지 관리
├── server/                 # FastAPI 백엔드 (Python)
│   ├── api/                # API 엔드포인트 (/chat, /detect 등) 
│   ├── core/               # 인증(JWT) 및 서버 설정
│   ├── db/                 # MySQL 연결 및 ORM 설정
│   ├── services/           # 비즈니스 로직 (영양 분석, 추천 알고리즘)
│   └── requirements.txt    # 서버 라이브러리 목록
├── ai/                     # AI 모델 및 추론 로직
│   ├── models/             # YOLOv11 가중치 파일 (.pt, .tflite)
│   ├── scripts/            # 모델 학습 및 데이터 전처리 스크립트
│   └── rag_engine/         # GPT-OSS + RAG 관련 프롬프트 및 벡터 DB
├── docs/                   # 기획서, 보고서 및 테스트 케이스
│   ├── planning/           # 아이디어 기획서 및 시스템 설계서
│   ├── designs/            # 피그마(Figma) 링크 및 UI 설계도
│   ├── test_cases/         # 단위/통합 테스트 명세서 (TC-MealLog-01 등)
│   └── img/                # 문서용 이미지 폴더
├── data/                   # 데이터셋 및 영양 DB
│   ├── dataset/            # 한국 음식 이미지 샘플 (라벨링 데이터)
│   └── nutrition_db/       # 한국식품영양성분표(KFDA) CSV/SQL
├── .gitignore              # 깃 제외 목록 (API Key, 가상환경 등) 
└── README.md               # 프로젝트 메인 대문
Copyright © 2026 Team Moonshot. All rights reserved.

About

AI 기반 식단 관리 및 맞춤형 추천 서비스 - cys

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 96.3%
  • Python 2.7%
  • Other 1.0%