Files
lunchpick/pubspec.yaml
JiWoong Sul c608b6c7df feat(bluetooth): 실제 BLE 기반 맛집 리스트 공유 구현
- 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 파싱
2026-01-30 00:09:13 +09:00

144 lines
4.8 KiB
YAML

name: lunchpick
description: "오늘 뭐 먹Z? - 점심 메뉴 추천 앱"
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.1.0+4
environment:
sdk: ^3.8.1
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8
# State Management
flutter_riverpod: ^2.4.0
riverpod_annotation: ^2.3.0
# Local Storage
hive: ^2.2.3
hive_flutter: ^1.1.0
# Navigation
go_router: ^13.0.0
# UI Components
table_calendar: ^3.0.9
adaptive_theme: ^3.5.0
# Permissions & Location
permission_handler: ^11.1.0
geolocator: ^10.1.0
# Networking
dio: ^5.4.0
json_annotation: ^4.8.1
dio_cache_interceptor: ^3.5.0
dio_cache_interceptor_hive_store: ^3.2.2
path_provider: ^2.1.1
# Bluetooth
flutter_blue_plus: ^1.31.0
ble_peripheral: ^2.4.0 # Peripheral 역할 (Receiver)
# Utilities
uuid: ^4.2.1
share_plus: ^7.2.1
flutter_local_notifications: ^17.2.3
# Phase 2 추가 패키지
url_launcher: ^6.2.0 # 네이버 지도 앱 열기
http: ^1.1.0 # HTTP 요청
html: ^0.15.4 # HTML 파싱
timezone: ^0.9.2 # 시간대 처리
workmanager: ^0.8.0 # 백그라운드 작업 (Android)
# 광고
google_mobile_ads: ^5.1.0
dev_dependencies:
flutter_test:
sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^5.0.0
# Code Generation
build_runner: ^2.4.6
json_serializable: ^6.7.1
hive_generator: ^2.0.1
riverpod_generator: ^2.3.0
# Testing
mocktail: ^1.0.2
mockito: ^5.4.4
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter packages.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- assets/data/store_seed.json
- assets/data/store_seed.meta.json
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/to/resolution-aware-images
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/to/asset-from-package
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/to/font-from-package