How dob-dd/smart_drop_box works
Smart Drop Box is a Flutter app for monitoring a parcel box and remotely controlling its lock. The user workflow is to open the dashboard, inspect lock and sensor readings, request a lock change, and review delivery events; View All opens the full activity list. The README identifies a mock service as the hardware boundary and describes replacing it with BLE or TCP/WebSocket integration. Dart implementation excerpts were not provided, so links between screens, models, and service are shown as unverified rather than asserted as observed calls.
Main entry points: home_screen.dart Dashboard · drop_box_service.dart Drop box service · app_navigator.dart App navigator · activity_log_screen.dart Activity log
Components 15
App interface
- Dashboard
lib/screens/home_screen.dart - Main shell
lib/screens/main_shell.dart - Activity log
lib/screens/activity_log_screen.dart - Lock status card
lib/widgets/lock_status_card.dart - Sensor cards
lib/widgets/sensor_cards.dart - Activity feed
lib/widgets/activity_feed.dart
Box domain
- Drop box service
lib/services/drop_box_service.dart - Box state
lib/models/drop_box_state.dart - Activity entry
lib/models/activity_log_entry.dart
Navigation
- App navigator
lib/navigation/app_navigator.dart - Screen registry
lib/navigation/app_screen_registry.dart - Screen definitions
lib/navigation/app_screens.dart - Slide transition
lib/navigation/slide_page_route.dart
Other components
- Box user
- Box controller
Connections 14
- Box user → Dashboard: views status
- Box user → Drop box service: requests lock change
- Dashboard → Drop box service: controls lock
- Drop box service → Box controller: integrates over BLE or TCP
README.md - Dashboard → Lock status card: shows lock status
- Dashboard → Sensor cards: shows sensor readings
- Dashboard → Activity feed: shows recent events
- Box user → Activity log: opens full log
README.md - Activity log → Activity entry: displays events
- Dashboard → Box state: displays box state
- Main shell → Dashboard: hosts screen
- App navigator → Screen definitions: routes to screens
- Screen registry → Screen definitions: registers screens
- App navigator → Slide transition: uses transition