71b7611a48
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>
66 lines
2.2 KiB
Markdown
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
|