- ble_peripheral 패키지 추가 (Peripheral/GATT Server 역할)
- flutter_blue_plus 패키지 활용 (Central/스캔/연결 역할)
변경 사항:
- BleConstants: BLE UUID 및 설정 상수 정의
- BluetoothService: Mock에서 실제 BLE 통신으로 전면 재작성
- Receiver: GATT Server로 광고, Write callback으로 데이터 수신
- Sender: 서비스 UUID로 스캔, 연결 후 Characteristic에 데이터 전송
- 청크 기반 대용량 데이터 전송 프로토콜 구현
- ShareDevice: BLE 디바이스 정보 필드 추가 (remoteId, rssi, bleDevice)
- Android/iOS: BLE 권한 및 기능 선언 추가
데이터 전송 프로토콜:
- 'CHUNK:index:total:data' 형식으로 500바이트 단위 분할 전송
- 수신 측에서 청크 조립 후 JSON 파싱
## 새 파일
### AppDimensions (app_dimensions.dart)
- UI 관련 상수 중앙 집중화
- 패딩, 마진, 보더 레디우스, 아이콘 크기 등 정의
- 하드코딩된 값을 상수로 대체하여 일관성 확보
### InfoRow (info_row.dart)
- 레이블-값 쌍을 표시하는 공통 위젯
- 수평/수직 배치 지원
### SkeletonLoader (skeleton_loader.dart)
- Shimmer 효과를 가진 스켈레톤 로더
- RestaurantCardSkeleton, RestaurantListSkeleton 포함
- 로딩 상태 UX 개선
## 삭제된 파일
### 미사용 예외 클래스
- lib/core/errors/app_exceptions.dart
- lib/core/errors/data_exceptions.dart
- 정의만 되어 있고 실제 코드에서 사용되지 않음
- network_exceptions.dart는 활발히 사용 중이므로 유지
### 미사용 공통 위젯
- lib/core/widgets/empty_state_widget.dart
- lib/core/widgets/loading_indicator.dart
- 정의만 되어 있고 다른 화면에서 import하지 않음
- error_widget.dart는 share_screen에서 사용 중이므로 유지
### 미사용 디버그 위젯
- lib/presentation/pages/calendar/widgets/debug_test_data_banner.dart
- 테스트 데이터 배너 위젯이지만 calendar_screen에서 사용하지 않음
### 백업 파일
- lib/data/api/naver_api_client.dart.backup
- lib/presentation/pages/restaurant_list/widgets/add_restaurant_dialog.dart.backup
- 불필요한 백업 파일 정리
## 검증
- flutter analyze 통과
- 기록/통계 탭에 디버그 토글 배너 추가 및 테스트 데이터 주입 로직 상태화\n- 리스트 공유 화면에 디버그 프리뷰 토글, 광고 관문, 디버그 전송 흐름 반영\n- 모의 전면 광고는 대기 시간 종료 시 자동 완료되도록 변경\n- AGENTS.md에 코멘트는 한국어로 작성 규칙 명시\n\n테스트: flutter analyze; flutter test
- add AppLogger and replace scattered print logging\n- implement ad-gated recommendation flow with reminder handling and calendar link\n- complete Bluetooth share pipeline with ad gate and merge\n- integrate KMA weather API with caching and dart-define decoding\n- add NaverUrlProcessor refactor and restore restaurant repository tests
LunchPick(오늘 뭐 먹Z?) Flutter 앱의 초기 구현입니다.
주요 기능:
- 네이버 지도 연동 맛집 추가
- 랜덤 메뉴 추천 시스템
- 날씨 기반 거리 조정
- 방문 기록 관리
- Bluetooth 맛집 공유
- 다크모드 지원
기술 스택:
- Flutter 3.8.1+
- Riverpod 상태 관리
- Hive 로컬 DB
- Clean Architecture
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>