1. 프로젝트 소개
2. 개발 기간
3. 개발 목표
4. 아키텍처 및 파일구조
5. 사용 기술 및 라이브러리
6. 기능 정리
7. 화면 리스트
8. 팀원 소개
“🥗 스스로 식단을 계획하고 관리할 수 있는 다이어트 파트너 담다잇!”
최근 건강에 대한 관심이 급증하며 다이어트 식품 시장이 빠르게 성장하고 있지만, 소비자들은 오히려 수 많은 정보와 상품 속에서 선택의 어려움을 겪고 있습니다.
담다잇은 이러한 문제를 해결하기 위해, 신뢰할 수 있는 다이어트 식품을 한곳에 모아 판매하는 것을 넘어, 사용자가 칼로리 계산기를 통해 자신의 식단을 데이터에 기반하여 적극적으로 관리할 수 있는 건강 식품 전문 쇼핑몰앱 입니다.
🗓️ 2025.06.25 ~ 2025.07.18
-
안정적인 커머스 (가입부터 결제까지)
-
개인화된 활동 내역 관리 시스템 구축 (마이페이지를 통한 개인 데이터 관리)
-
신뢰도 구축 (투명한 리뷰) 및 추가 기능 (칼로리 계산기)
본 프로젝트는 MVVM 패턴을 채택하였습니다.
Backend
- 강사님 제공 MongoDB
- 식품의약품안전처_식품영양성분DB정보
🗂️lib/
│
├── 🗂️ core/ # 앱 전역 설정 (상수, utils, api client, 공통 위젯 등)
│ ├── 📁 constants/ # 앱 전역 상수
│ ├── 📁 utils/ # 앱 공통 함수
│ ├── 📁 network/ # Dio 같은 API Client
│ ├── 📁 secutr/ # 토근 저장 위한 SecureStorage
│ ├── 📁 widgets/ # 공통 위젯
│ └── 📁 theme/ # 색상, 폰트, 스타일
│
├── 🗂️ data/ # Model, Repository (데이터 계층)
│ ├── 📁 models/
│ │ ├── 📁 product/
│ │ ├── 📁 review/
│ │ └── 📁 response/
│ │ │ ├── api_response # 공통 response 틀
│ │ │ ├── product_list_response # 개별 response
│ │ │ └── ...
│ │ └── ...
│ ├── 📁 repositories/
│ │ ├── 📄 product_repository.dart
│ │ ├── 📄 review_repository.dart
│ │ └── ...
│ └── 📁 datasources/
│ └── 📄 product_datasource
│ └── ...
│
│
├── 🗂️ presentation/ # View, ViewModel (UI 계층)
│ ├── 📁 screens/
│ │ ├── 📁 home/
│ │ │ ├── 📄 home_screen.dart
│ │ │ ├── 📄 home_viewmodel.dart (기존에 provider 이름 -> 화면_viewmodel)
│ │ │ ├── widgets/
│ │ │ │ ├── 📄 product_list_item.dart
│ │ │ │ └── ...
│ │ ├── 📁 review/
│ │ │ ├── 📄 review_screen.dart
│ │ │ ├── 📄 review_viewmodel.dart
│ │ │ └──📁 widgets/
│ │ │ ├── 📄 review_list_item.dart
│ │ │ └── ...
│ │ └── ...
│ └── 📁 routes/ # Route 관리
│
└── 📄 main.dart
| 용도 | 이름 | 버전 |
|---|---|---|
| 언어 | Dart | 3.8.1 |
| Framework | Flutter | 3.32.2 |
| IDE | Android Studio | Meerkat 2024.3.1 |
| 데이터베이스 | MongoDB | |
| 개발 툴 | MongoDB Compass | |
| 협업 툴 | Figma, Notion, SourceTree, canva |
| 이름 | 용도 | 버전 |
|---|---|---|
provider |
상태 관리 | 6.1.5 |
dio |
HTTP 통신 | 5.8.0 |
pretty_dio_logger |
HTTP 로그용 | 1.4.0 |
flutter_secure_storage |
토큰 암호화 저장 | 9.2.4 |
image_picker |
이미지 선택 | 1.1.2 |
kpostal |
우편주소 검색 | 1.1.0 |
flutter_rating_bar |
별점 레이팅 바 | 4.0.1 |
carousel_slider |
홈 배너 자동 재생 | 5.1.1 |
intl |
숫자 포맷 처리 | 0.18.0 |
animations |
화면 전환 애니메이션 | 2.0.8 |
flutter_svg |
svg 이미지 파일 처리 | 2.2.0 |
- 회원 가입
- 로그인
- 음식, 제조사 명 입력을 통한 영양 정보 검색
- 영양 상세 정보 다이얼로그
- 칼로리 계산
- 검색된 음식들을 칼로리 계산 대상 리스트에 추가, 삭제
- 칼로리 계산 리스트 항목에 따른 섭취 칼로리 계산
- 홈
- 이벤트 배너
- 카테고리 별 상품 보기
- 신상품 순 상품 리스트
- 조회순 상품 리스트
- 판매순 상품 리스트
- 상품 검색
- 상품 명, 카테고리 별, 가격대 설정을 통한 상품 검색
- 검색 결과
- 상품 상세
- 주문 수량 설정
- 상세(영양)정보
- 리뷰
- 별점
- 작성된 리뷰, 사진 보기
- 찜
- 장바구니
- 바로구매
- 장바구니
- 상품 선택, 추가, 삭제
- 주문
- 배송지, 결제 수단 입력 후 주문
-
찜한 상품
-
주문 목록
-
리뷰 입력
-
리뷰 목록 조회, 수정, 삭제
-
배송지 변경
-
닉네임 변경
-
비밀번호 변경
-
로그아웃
| 팀장 | 부팀장 | 최고의 팀원 |
|---|---|---|
![]() |
![]() |
![]() |
| 이소희 | 최현수 | 강태훈 |


