* feat(clubs): enable admin group ride governance * feat(clubs): add secure member ride discovery * fix(clubs): protect meeting location in ride discovery * feat(group-rides): secure club join moderation * test(clubs): update ride discovery expectations * test(founder-portal): update rides governance expectations * fix(group-rides): resolve pre-merge findings on join moderation and discovery - Block participant hard deletes for accepted status and organizer role for all callers - Support atomic accessUids removal on invitation decline in firestore.rules - Restrict mutual-block checks to approvals in GroupRideService, allowing decline of blocked requests - Implement cursor-paginated candidate scanning with block filtering in website discovery API - Add comprehensive emulator, vitest, and unit tests covering all 5 findings * fix(discovery): page candidates until 30 eligible rides collected or query exhausted - Remove artificial 150 candidate scan ceiling in club rides discovery route - Continue cursor pagination until 30 unblocked eligible rides are collected or upcoming schedule query is exhausted - Add test verifying pagination continues past 150 blocked rides to collect all 30 eligible rides --------- Co-authored-by: Developer <dev@example.com> |
||
|---|---|---|
| .agents/skills | ||
| .continue/mcpServers | ||
| .github | ||
| .token-optimizer/wiki | ||
| .wrangler/cache | ||
| android | ||
| assets | ||
| backend/motorsignal_api | ||
| cloudflare/motorsignal-r2-worker | ||
| docs | ||
| field_test_export_ride3_unzipped | ||
| field_test_export_ride4_unzipped | ||
| field_test_export_unzipped/field_test_session | ||
| firebase/emulator-tests | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| ride_logs | ||
| scripts | ||
| server/waze_relay | ||
| test | ||
| tool | ||
| web | ||
| website | ||
| windows | ||
| .firebaserc | ||
| .gitattributes | ||
| .gitignore | ||
| .metadata | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| DESIGN.md | ||
| DEVELOPMENT_HISTORY.md | ||
| FEATURES_CHANGELOG.md | ||
| FIELD_TESTING.md | ||
| MOTORSIGNAL_AI_ENVIRONMENT_AUDIT.md | ||
| MOTORSIGNAL_CLOUD_ARCHITECTURE.md | ||
| MOTORSIGNAL_FINAL_CLOUD_DATA_MODEL.md | ||
| MOTORSIGNAL_FREE_PRO_SPEC.md | ||
| MOTORSIGNAL_PHASE_2B_FIREBASE_SETUP.md | ||
| MOTORSIGNAL_PHASE_2D_R2_MIGRATION.md | ||
| MOTORSIGNAL_PHASE_2E_PRODUCTION_SETUP.md | ||
| MOTORSIGNAL_PHASE_2_CLOUD_SYNC_DISCOVERY.md | ||
| MOTORSIGNAL_PRODUCT_ROADMAP.md | ||
| MOTORSIGNAL_SYNC_ARCHITECTURE_GAP_AUDIT.md | ||
| PHASE9_AUDIT_REPORT.md | ||
| PHASE10_FIELD_TEST_REPORT.md | ||
| PHASE11_5_TORTURE_SOAK_AUDIT_REPORT.md | ||
| PHASE11_FIELD_TEST_READINESS_REPORT.md | ||
| README.md | ||
| TELEMETRY_ARCHITECTURE.md | ||
| TELEMETRY_VALIDATION.md | ||
| analysis_options.yaml | ||
| field_test_export.zip | ||
| field_test_export_ride3.zip | ||
| field_test_export_ride4.zip | ||
| firebase.emulator.json | ||
| firebase.json | ||
| firestore.indexes.json | ||
| firestore.rules | ||
| fix_exceptions.dart | ||
| generate_icon.dart | ||
| project_summary.md | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| release_manifest.json | ||
| serve_apk.js | ||
| skills-lock.json | ||
README.md
Motorcycle Digital Dashboard 🏍️
A high-performance, dark-themed telemetry and analytics dashboard for motorcycles, built with Flutter.
Features
- Real-time Telemetry: Uses GPS and IMU sensors to calculate speed, lean angle (bank), and acceleration/braking G-forces.
- Automatic Ride Recording: Automatically starts tracking when movement is detected and logs your trip.
- Performance Analysis: Automatically measures 0-60 MPH and 0-100 MPH acceleration times.
- Ride History & Replay: View past rides, replay telemetry synchronized with a Google Map.
- Audio Alerts: Text-to-speech alerts for milestones and ride states to keep your eyes on the road.
- Data Export: Export your ride telemetry to
.csvor.gpxfor external analysis.
Setup & Building
- Ensure you have the Flutter SDK installed.
- Clone this repository.
- Run
flutter pub getto fetch dependencies. - Add your Google Maps API key in
android/app/src/main/AndroidManifest.xml(replaceYOUR_API_KEY_HERE). - Run
flutter runorflutter build apk.
Architecture
- Framework: Flutter (Material 3).
- State Management: Riverpod for reactive UI state.
- Database: Drift (SQLite) for robust, local storage.
- Sensor Fusion: Complementary filter combining accelerometer and gyroscope for precise lean angles.
Disclaimer
This application relies on the accuracy of your smartphone's internal sensors. It should be securely mounted to the motorcycle using a rigid mount. Do not interact with the screen while riding. Ride safely!