Files
gps-speedo/README.md
T
Mikkeli Matlock 71b7611a48 Implement v1.1 enhancements: auto-rotate, interactive gauge, and extended units
Features added:
- Auto-rotate support for portrait/landscape orientations
- Interactive gauge: tap to switch between digital and analog modes
- Extended speed units: added knots with quick selector buttons
- New SpeedUnitSelector widget for convenient unit switching

Known issues identified:
- 10 package dependencies need updates to latest compatible versions
- Orientation switching needs to override system auto-rotate toggle
- Background color customization moved back to TODO (build issues)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 01:58:46 +09:00

66 lines
2.2 KiB
Markdown

# GPS Speedometer
A customizable Flutter speedometer app using GPS location services to display real-time speed.
**Created with the help of Claude Code**
## Features
### Core Functionality
- Real-time speed display using GPS
- High-precision location tracking
- Works offline (no internet connection required)
- Automatic portrait/landscape orientation support
### Customizable Settings
- **Speed Units**: mph, km/h, knots (with convenient unit selector buttons)
- **Display Style**: Digital speedometer, analog gauge (tap gauge to switch)
- **Theme**: Light/Dark mode (expandable for custom themes)
- **Metrics Display**: Toggle additional metrics on/off
- Current location coordinates
- Distance traveled
- Trip duration
- Current speed accuracy
### Technical Specifications
- Target Platform: Android (primary)
- Screen Orientation: Auto-rotate (portrait/landscape)
- Target Device: Mobile phones and tablets
- GPS Requirements: Location permissions required
- Offline Capability: Full functionality without internet
### New Features in v1.1
- **Auto-rotate Support**: App now supports both portrait and landscape orientations
- **Interactive Gauge**: Tap the speedometer to switch between digital and analog modes
- **Extended Units**: Added knots as a speed unit option
- **Unit Selector**: Quick access unit selection buttons next to the speedometer
## Architecture Design
The app is designed with customization and extensibility in mind:
- Settings system supports multiple options per category
- Modular design allows easy addition of new speedometer styles
- Theme system supports unlimited themes
- Metrics system allows toggle individual data points
## Permissions Required
- `ACCESS_FINE_LOCATION` - For high-precision GPS tracking
- `ACCESS_COARSE_LOCATION` - Fallback location access
## Getting Started
### Prerequisites
- Flutter SDK
- Android development environment
- Physical device recommended (GPS simulation limited in emulator)
### Installation
1. Clone the repository
2. Run `flutter pub get`
3. Connect Android device or start emulator
4. Run `flutter run`
### Development
- `flutter run` - Run the app in development mode
- `flutter build apk` - Build APK for Android
- `flutter test` - Run unit tests