irene 248053270b refactor: complete layered architecture migration
Delete old flat files, wire new DI in main.dart:
- Removed: gps_service.dart, config/, models/, providers/overlay_provider.dart,
  screens/, services/gps_data_manager.dart, services/overlay_service.dart
- Kept: settings_provider.dart (thin, correct), logger.dart (shared util)
- main.dart now wires: LocationRepository → SpeedometerViewModel → SpeedometerView
- overlay_provider.dart deferred, stub in ui/features/overlay/
- flutter analyze: 30 info-level constant_identifier_names warnings (project convention),
  zero errors, zero warnings — builds clean

New structure:
  lib/
    core/constants/     — gps, overlay, timing, speed_unit
    core/theme/         — color_themes
    data/
      models/           — LocationData (immutable domain model)
      services/         — GpsService (stateless wrapper), OverlayService (IPC)
      repositories/     — LocationRepository (business logic, ChangeNotifier)
    providers/          — SettingsProvider (thin, unchanged)
    ui/
      features/
        speedometer/    — SpeedometerViewModel + SpeedometerView
        overlay/        — Stub ViewModel + View (deferred)
      shared/           — SpeedDisplay widget
    services/           — Logger (shared util)
2026-08-23 17:32:29 +09:00
2026-02-18 19:54:01 +09:00
2026-02-18 19:54:01 +09:00

GPS Speedometer

A GPS Speedometer aimed at Android on Motorcycle / Bicycle applications. Created with the help of Claude Code

Features

Core Functionality

  • Real-time speed display using GPS
  • Maybe also direction display using GPS
  • Good floating window / split screen support(hopefully)

Customizable Settings

  • Speed Units: mph, km/h, knots (with convenient unit selector buttons)
  • Theme: Light/Dark mode (expandable for custom themes)

Technical Specifications

  • Target Platform: Android (primary)
  • Target Device: Mobile phones and tablets
  • GPS Requirements: Location permissions required
  • Offline Capability: Full functionality without internet

Architecture Design

To be updated

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
S
Description
Simple GPS speedometer.
Readme MIT 1.3 MiB
2026-08-27 11:54:50 +00:00
Languages
HTML 49.4%
Dart 31.5%
C++ 9.6%
CMake 7.5%
Swift 0.9%
Other 1%