Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
2a6fe7f
Initial commit
Choiyeongsu13 Mar 29, 2026
61eba64
Revise README with project and team details
Choiyeongsu13 Mar 29, 2026
98dcd28
chore: 초기 폴더 구조 생성
nisdh2916 Mar 29, 2026
29c50c4
Update README.md
Choiyeongsu13 Mar 29, 2026
c9ad76b
chore: docs 내 이미지 폴더 생성
nisdh2916 Mar 29, 2026
80a0bfb
Update installation instructions and project structure
Choiyeongsu13 Mar 29, 2026
ba329c9
chore: 프로젝트 디렉터리 구조 정리
nisdh2916 Mar 29, 2026
59ed542
feat: add FastAPI MVP skeleton with 5 core endpoints
Choiyeongsu13 Mar 29, 2026
ee3d201
Merge pull request #1 from nisdh2916/codex/determine-next-steps
Choiyeongsu13 Mar 29, 2026
7d7af89
docs: fix backend run commands for server.main app
Choiyeongsu13 Mar 29, 2026
477038a
Merge pull request #2 from nisdh2916/codex/determine-next-steps-0xcz7j
Choiyeongsu13 Mar 29, 2026
7d9d6e1
Create Front-end
dud00 Apr 5, 2026
cf76ae8
UI 1.0
dud00 Apr 5, 2026
2b4543a
Delete Front-end
dud00 Apr 5, 2026
7da7db4
chore: add .gitignore to exclude .venv and __pycache__
nisdh2916 Apr 5, 2026
752fbf4
refactor: move lib to app/lib and remove ios directory
nisdh2916 Apr 5, 2026
d8f7d0f
Update README.md
Choiyeongsu13 Apr 6, 2026
e68bc32
Update README.md
Choiyeongsu13 Apr 6, 2026
fb8e2d9
Merge remote: keep local files
dud00 Apr 6, 2026
f9fab90
refactor: remove outdated app/lib duplicates, keep root-level Flutter…
dud00 Apr 6, 2026
f863455
refactor: Flutter 앱 파일 구조 정리 - app/ 하위로 이동
dud00 Apr 6, 2026
62825f4
docs: README.md 원본 복원
dud00 Apr 6, 2026
c4796be
feat: RAG 기반 AI 챗봇 서버-앱 연동
Choiyeongsu13 Apr 6, 2026
3ff253a
fix: AppColors.green700 → green600 컴파일 에러 수정
Choiyeongsu13 Apr 6, 2026
9a4f94a
feat: sentence-transformers GPU 임베딩 및 식품 추가 API
Choiyeongsu13 Apr 7, 2026
d3435f7
feat: gemma4:e4b 전환, 채팅 에러 핸들링 및 스트리밍 API 추가
Choiyeongsu13 Apr 8, 2026
4d40bbc
feat: 프랜차이즈/배달 음식 영양 데이터 추가 (18,698건)
Choiyeongsu13 Apr 9, 2026
58d67b5
feat: 사용자 프로필에 목표/알레르기/질환/활동량 필드 추가
Choiyeongsu13 Apr 13, 2026
bae5255
feat: RAG 파이프라인 개선 및 추천/프로필 추출 API 추가
Choiyeongsu13 Apr 13, 2026
52de48f
feat: 온보딩 챗봇 스크립트 방식으로 전면 개편
Choiyeongsu13 Apr 13, 2026
894bf3a
feat: AI 채팅 UI 개선 및 맞춤 추천 API 연동
Choiyeongsu13 Apr 13, 2026
e38346a
fix: NDK 버전 업그레이드 및 서버 연결 adb reverse 방식으로 변경
Choiyeongsu13 Apr 15, 2026
1a9e799
docs: 2026-04-20 캡스톤 디자인 피드백 정리
Choiyeongsu13 Apr 20, 2026
5243c7b
Merge branch 'main' of https://github.com/nisdh2916/NutrAI
Choiyeongsu13 Apr 20, 2026
4a4d488
Create sql
hoyeon1129 Apr 23, 2026
e42ccb4
Merge pull request #4 from nisdh2916/feat/app-rag-chat
Choiyeongsu13 Apr 23, 2026
6352ef7
Merge pull request #5 from nisdh2916/docs/capstone-feedback-0420
Choiyeongsu13 Apr 23, 2026
076cf1e
Merge pull request #7 from nisdh2916/hoyeon1129-patch-1
Choiyeongsu13 Apr 23, 2026
feabc37
feat: RAG 파이프라인 품질 개선 및 포스트 프로세싱 추가
Choiyeongsu13 Apr 23, 2026
f139a0f
Merge pull request #8 from nisdh2916/feat/rag-improvements
Choiyeongsu13 Apr 23, 2026
8ee097b
feat: 문서 기반 RAG 파이프라인 전면 개선
Choiyeongsu13 Apr 23, 2026
0c17004
Improve API config and server persistence
Choiyeongsu13 Apr 24, 2026
c911ee0
Add structured recommendation pipeline
nisdh2916 Apr 24, 2026
78df9c1
로컬 DB
hoyeon1129 Apr 26, 2026
8fe3b5d
DB 초안
hoyeon1129 Apr 26, 2026
aa7d8e1
feat: 리포트 DB 연동, 알레르기 설정 UI, RAG 파이프라인 개선
Choiyeongsu13 Apr 27, 2026
ed92f5c
docs: troubleshooting 14~15 추가 (리포트 DB 연동, 알레르기 설정 UI)
Choiyeongsu13 Apr 27, 2026
5563de6
Merge pull request #12 from nisdh2916/feature/recommendation-pipeline
Choiyeongsu13 Apr 27, 2026
f34cd91
Merge pull request #13 from nisdh2916/hoyeon1129-patch-1
Choiyeongsu13 Apr 27, 2026
44dc6ab
merge: origin/main 병합 및 routes_recommend.py 충돌 해결
Choiyeongsu13 Apr 27, 2026
da1ca3c
Merge pull request #14 from nisdh2916/feat/rag-improvements
Choiyeongsu13 Apr 27, 2026
a87be51
feat: apply Toss TDS design system to all main screens
dud00 Apr 27, 2026
b64ff2e
merge: feat/app-toss-design 병합 및 report_screen.dart 충돌 해결
Choiyeongsu13 Apr 27, 2026
afd2d9f
fix: 빌드 오류 수정 (Container color+decoration, image_picker, MealEntity.p…
Choiyeongsu13 Apr 27, 2026
cd2f8fc
Merge pull request #16 from nisdh2916/fix/build-errors
Choiyeongsu13 Apr 27, 2026
4665667
fix: 설정 탭 복원 및 진행사항 문서 추가
Choiyeongsu13 Apr 27, 2026
73ba071
Merge pull request #17 from nisdh2916/fix/build-errors
Choiyeongsu13 Apr 27, 2026
d9b1ea6
fix: harden RAG recommendation pipeline
nisdh2916 Apr 28, 2026
d479c10
Merge pull request #18 from nisdh2916/codex/rag-pipeline-hardening
Choiyeongsu13 Apr 28, 2026
8a2b3c8
feat: 음식 추가 화면에 알레르기 경고 표시 추가
Choiyeongsu13 Apr 29, 2026
852505a
feat: 추천 화면 카테고리별 설명 배너 추가
Choiyeongsu13 Apr 29, 2026
5f75613
feat: 주간/월간 리포트 인사이트 강화
Choiyeongsu13 Apr 29, 2026
05954a0
docs: progress.md·troubleshooting.md 업데이트 (17~19번 항목 추가)
Choiyeongsu13 Apr 29, 2026
c837ef6
Merge pull request #19 from nisdh2916/feat/allergy-warning-and-features
Choiyeongsu13 Apr 29, 2026
a946049
docs/test/fix: 아키텍처 문서, 단위 테스트, 알레르기 버그 2건 수정
Choiyeongsu13 Apr 30, 2026
d520aa7
Initial commit
Choiyeongsu13 May 4, 2026
d0f21f7
Merge remote branch and resolve conflicts
Choiyeongsu13 May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .github/.gitkeep
Empty file.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.class
*.log
*.pyc
*.db
*.swp
.DS_Store
.atom/
Expand All @@ -10,6 +11,7 @@
.history
.svn/
.swiftpm/
.venv/
migrate_working_dir/

# IntelliJ related
Expand Down
45 changes: 0 additions & 45 deletions .metadata

This file was deleted.

34 changes: 34 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# NutrAI 프로젝트 지시사항

## 버그 수정 후 문서화 규칙

버그를 수정하거나 문제를 해결한 세션에서는 반드시 `docs/troubleshooting.md`를 업데이트하세요.

형식:
```
## N. [제목]

**증상:** 어떤 문제가 발생했는지

**원인:** 왜 발생했는지

**해결:**
\```python (또는 dart, bash 등)
# 변경 전
...

# 변경 후
...
\```

**관련 파일:** `경로/파일명.py` → `함수명()`
```

규칙:
- 새 항목은 기존 번호에 이어서 추가 (현재 10번까지 있음)
- 코드 변경이 있었을 때만 추가 (단순 질의응답은 제외)
- 같은 문제의 재발이면 기존 항목 업데이트

## Co-Authored-By 금지

커밋 메시지에 `Co-Authored-By: Claude` 라인을 절대 추가하지 마세요.
138 changes: 138 additions & 0 deletions DESIGN_PROGRESS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# NutrAI UI 리디자인 진행 현황

> 기준 디자인: `c:\Users\user\Downloads\NturAI` (Toss TDS inspired 프로토타입)
> 작업 브랜치: `feat/app-rag-chat`
> 시작일: 2026-04-27

---

## 개요

Claude Design으로 생성한 JSX 프로토타입의 디자인을 Flutter/Dart 앱에 그대로 적용하는 작업입니다.

### 핵심 변경 요약

| 항목 | 기존 | 새 디자인 |
|------|------|----------|
| 배경색 | `#F5F6F3` | `#F2F4F6` |
| 브랜드 그린 | `#639922` | `#22A447` |
| 저녁 색상 | 오렌지 | 보라 `#8B5CF6` |
| 텍스트 primary | `#1A1A1A` | `#191F28` |
| 탭 활성 색상 | 그린 | 다크 텍스트 |
| 카드 스타일 | 보더 기반 | 소프트 섀도우 |

---

## 진행 상태

| # | 파일 | 상태 | 주요 변경 내용 |
|---|------|------|--------------|
| 1 | `app_theme.dart` | ✅ 완료 | Toss TDS 색상 팔레트, 섀도우, 반경 토큰 전면 교체 |
| 2 | `main_tab_screen.dart` | ✅ 완료 | 탭 활성색 → 다크 텍스트, FAB 그림자 업데이트 |
| 3 | `home_screen.dart` | ✅ 완료 | 인사 헤더(아바타+날짜+벨), DailyOverviewCard(그래디언트 탑바+도넛+예측 저녁 가이드), 맞춤 팁 배너, MealCard(색상 칩+매크로 바), EmptyMealCard(점선 테두리), 연속기록 카드 |
| 4 | `food_add_screen.dart` | ✅ 완료 | 끼니 3-버튼 선택기, 분석 완료 배너, DetectedFoodItem 색상 박스+수정/삭제, MacroPill 영양 요약, 하단 CTA(총 칼로리+추가 버튼) |
| 5 | `calendar_screen.dart` | ✅ 완료 | 헤더(날짜 대형+Today 버튼), SegmentedControl 탭, DayPicker, 3개 통계 카드(총섭취/끼니수/달성률), Timeline(컬러 도트+라인), MonthlyCalendar(도트 인디케이터+범례) |
| 6 | `report_screen.dart` | ✅ 완료 | BigDonut(180px), MealDotSummary, MacroDetailRow(진행 바), WeeklyChart(막대+목표선), AI 코치 인사이트 카드 |
| 7 | `recommend_screen.dart` | ✅ 완료 | FoodCard(그래디언트 이미지 영역+MacroPill), 필터 칩(가로 스크롤), AI 가이드 배너 |
| 8 | `ai_chat_screen.dart` | ✅ 완료 | ChatBubble(마스코트 아바타), SuggestionChips(가로 스크롤), 입력 바(필 형태+원형 전송) |

---

## 디자인 토큰 (app_theme.dart)

### 색상

```dart
// 배경
bg = #F2F4F6
bgAlt = #F9FAFB
surface = #FFFFFF
line = #E5E8EB
lineSoft = #F2F4F6
lineStrong = #D1D6DB

// 텍스트
text = #191F28
textSub = #4E5968
textMuted = #8B95A1

// 브랜드
brand = #22A447
brandDark = #1E8E3E
brandSoft = #E6F4EA
brandText = #1A7F36

// 영양소 시맨틱
carb = #3182F6 (파랑)
protein = #22A447 (그린)
fat = #FF9500 (오렌지)

// 끼니 시맨틱
breakfast = #3182F6
lunch = #22A447
dinner = #8B5CF6 (보라)
```

### 반경

```dart
xs=6 sm=8 md=12 lg=16 xl=20 xxl=24 pill=999
```

### 섀도우

```dart
card = 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04)
raised = 0 2px 4px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.08)
fab = 0 6px 20px rgba(34,164,71,0.35), 0 2px 6px rgba(0,0,0,0.1)
```

---

## 화면별 변경 상세

### 홈 화면 (home_screen.dart)

- **헤더**: 이름 첫 글자 초록 아바타 + 날짜 + 이름 인사 + 벨 아이콘
- **DailyOverviewCard**: 상단 3색 그래디언트 줄, 도넛 차트(112px) + 영양소 행, 구분선, 남은 칼로리 + 달성률 칩, 저녁 예측 가이드 배너
- **맞춤 팁**: 노란 그래디언트 배경 카드 (`#FEF3C7 → #FEF9E7`)
- **MealCard**: 끼니별 색상 칩(아침=파랑/점심=그린/저녁=보라) + 매크로 미니 바
- **EmptyMealCard**: 점선 초록 테두리 + 진행 도트 + "기록" 버튼
- **연속기록 카드**: 불꽃 아이콘 + 요일 격자

### 식사 추가 화면 (food_add_screen.dart)

- **끼니 선택**: 3버튼 꽉 채운 배치, 활성 시 끼니 색상 배경
- **분석 완료 배너**: 초록 체크 + "사진 분석 완료!" + "다시 촬영" 링크
- **DetectedFoodItem**: 44×44 컬러 박스 + 이름/영양 + 수정/삭제 버튼
- **MacroPill 영양 요약**: 탄/단/지 pill 3개 가로 배치
- **하단 CTA**: 총 칼로리(좌) + "[끼니]에 N개 추가" 버튼(우)

### 기록 화면 (calendar_screen.dart)

- **헤더**: 큰 날짜 숫자 + Today 버튼
- **SegmentedControl**: 주간/월간 토글
- **주간 뷰**: DayPicker(7일) + 통계 3개 카드(총섭취/끼니수/달성률) + Timeline
- **Timeline**: 컬러 도트(12px) + 세로 연결선 + 끼니 카드(MacroMini 포함)
- **월간 뷰**: MonthlyCalendar(그린 도트/노란 도트/미기록) + 월간 요약

### 리포트 화면 (report_screen.dart)

- **헤더**: "건강 리포트" + "YYYY년 M월" + 새로고침 버튼
- **일간**: DayPicker + BigDonut(180px) + MealDotSummary 3개 + MacroDetailRow + AI 코치 카드
- **주간**: WeeklyChart(막대+점선 목표선+목표 근접 배지) + 영양소 주간 평균
- **월간**: 4월 30일 완료 예정 플레이스홀더

### 추천 화면 (recommend_screen.dart)

- **헤더**: "오늘의 추천 식단" + 2탭(AI맞춤/오늘의 식단) + 새로고침
- **AI 가이드 배너**: 초록 그래디언트 배경 + 스파클 아이콘
- **필터 칩**: 가로 스크롤 (전체/저GI/고단백/저나트륨/500kcal 이하)
- **FoodCard**: 140px 그래디언트 이미지 영역 + 하트 + 배지 + kcal 오버레이 + MacroPill + "식단에 추가" 버튼

### AI 챗봇 화면 (ai_chat_screen.dart)

- **상태 표시**: 초록 도트 + "RAG 기반 맞춤 식단 추천 · 온라인"
- **ChatBubble**: 봇=초록 아이콘 아바타, 사용자=오른쪽 초록 말풍선, 서로 다른 border-radius
- **SuggestionChips**: 가로 스크롤 빠른 질문 칩 (pill 형태)
- **입력 바**: pill 형태 텍스트 필드 + 원형 초록 전송 버튼
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 nisdh2916

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading