이 프로젝트는 Z세대의 취향을 반영하여 기획된 셀렉샵 플랫폼입니다.
계절감 있는 봄 테마 UI, 간결하고 사용자 친화적인 UX, 그리고 트렌디한 요소들을 적극 반영하였습니다.
- 앱 실행 시 가장 먼저 보이는 기본 화면
- 등록된 상품들이 리스트 형태로 정렬됨
- 각 상품은 이미지, 제목, 가격, 재고, 별점을 표시
- 항목을 탭하면 해당 상품의 상세 페이지로 이동
- 상품이 새로 등록되면 리스트에 즉시 반영됨 (
setState또는 상태관리 적용)
상품명,가격,이미지,설명,재고를 입력 후 상품 리스트에 추가- 등록된 상품은 리스트 페이지에 실시간으로 반영
- 입력 필드는 TextField, 이미지 경로는 로컬
assets사용
- 상품 이미지 및 설명 표시
- 수량 조절 기능 (
+,–버튼) - 구매 후, 재고 차감
- 장바구니에 추가된 상품 목록 표시
- 선택한 상품만 총 가격 계산
- 결제하기 버튼을 클릭하면 선택한 상품만 결제
- 결제 후, 재고 차감
- [리뷰 탭 전환]: 상세 페이지 상단에서 "상품설명 ↔ 리뷰" 전환 가능
- [리뷰 등록]: 텍스트 입력 후 등록 시, 화면에 리뷰가 바로 반영됨
- 사용자가 리뷰를 작성하고 등록하면, 해당 상품의 리뷰 목록과 함께 평균 평점이 자동 갱신됩니다.
- UI 상단의 별점 표시(
⭐ 4.5 / 5)가 리뷰 등록 직후 즉시 업데이트되어 사용자에게 즉각적인 피드백을 제공합니다.
- 테마 설정에 따라 UI 스타일 자동 전환 (예: 배경, 텍스트 색상)
Flutter(StatefulWidget 기반 구조)- 커스텀 수량 조절 컨트롤러 (
QuantityController) - 싱글톤 패턴 장바구니 모델 (
Cart) - 다크/라이트 테마 (
ThemeMode) - 리뷰 등록 시
setState()로 동적 UI 업데이트 setState()에 의한 UI 실시간 반영
📦
├─ README.md
├─ assets
│ └─ images
│ ├─ ai-generated2png.png
│ ├─ ai-generatedjpg.jpg
│ ├─ apple.jpg
│ ├─ bag.png
│ ├─ bag_set.png
├─ lib
│ ├─ common
│ │ └─ widgets
│ │ ├─ common_button.dart
│ │ └─ dialog_helper.dart
│ ├─ main.dart
│ ├─ model
│ │ ├─ cart_item.dart
│ │ ├─ product.dart
│ │ └─ review.dart
│ ├─ pages
│ │ ├─ cart
│ │ │ ├─ cart_page.dart
│ │ │ └─ widgets
│ │ │ ├─ item_in_cart.dart
│ │ │ └─ payment_summary.dart
│ │ ├─ detail
│ │ │ ├─ detail_page.dart
│ │ │ └─ widgets
│ │ │ ├─ product_detail_controller.dart
│ │ │ └─ product_detail_page.dart
│ │ ├─ list
│ │ │ ├─ list_page.dart
│ │ │ └─ widgets
│ │ │ └─ product_item.dart
│ │ ├─ registration
│ │ │ ├─ registration_page.dart
│ │ │ └─ widgets
│ │ │ ├─ product_image_selector.dart
│ │ │ └─ product_text_field.dart
│ │ └─ review
│ │ ├─ review_modal_controller.dart
│ │ ├─ review_page.dart
│ │ └─ widgets
│ │ ├─ review_detail_page.dart
│ │ └─ review_modal_widgets.dart
│ ├─ theme
│ │ ├─ dark.dart
│ │ └─ light.dart
│ └─ utils
│ └─ format_price.dart
├─ pubspec.lock
├─ pubspec.yaml
- 카테고리별 추천 알고리즘 추가
- 상태 관리 패키지 사용
- 갤러리에서 이미지 선택
- Firebase 연동