Skip to content

gdg-yonsei/hearsitter-flutter

Repository files navigation


HearSitter Logo

HearSitter


📱 Screens

Preview Home screen History Screen Decibel Scale Screen

👀 MVVM Architecture with Riverpod

hearsitter_architecture

📂 Dircectory Structure

📂lib
├─ main.dart
└─ 📂src
   ├─ 📂core
   │  ├─ app_assets.dart
   │  ├─ app_constants.dart
   │  ├─ app_router.dart
   │  ├─ app_theme.dart
   │  ├─ core.dart
   │  └─📂utils
   │     ├─ audio_util.dart
   │     ├─ database_util.dart
   │     ├─ local_noti_util.dart
   │     ├─ router_util.dart
   │     └─ sharedprefs_util.dart
   ├─ 📂models
   │  ├─ audio_tagging_model.dart
   │  ├─ audio_tagging_model.freezed.dart
   │  └─ audio_tagging_model.g.dart
   ├─ 📂providers
   │  ├─ audio_tagging_api_provider.dart
   │  ├─ audio_tagging_db_provider.dart
   │  ├─ decibel_provider.dart
   │  ├─ stt_provider.dart
   │  └─ test.dart
   ├─ 📂repositories
   │  └─ audio_tagging_repository.dart
   ├─ 📂screens
   │  ├─ 📂category
   │  │  ├─ category_screen.dart
   │  │  └─ 📂widgets
   │  │     ├─ bottom_nav_button.dart
   │  │     └─ category_card.dart
   │  ├─ 📂history
   │  │  └─ history_screen.dart
   │  ├─ 📂home
   │  │  ├─ home_screen.dart
   │  │  └─ 📂widgets
   │  │     ├─ appbar_icon_button.dart
   │  │     ├─ decibel_history_chart.dart
   │  │     ├─ decibel_history_gauge.dart
   │  │     ├─ decibel_scale_chart.dart
   │  │     ├─ history_row.dart
   │  │     ├─ history_title.dart
   │  │     ├─ no_history_row.dart
   │  │     └─ toggle_button.dart
   │  └─ 📂onboarding
   │     └─ onboarding_screen.dart
   └─ 📂services
      └─ audio_tagging_service.dart

🔎 Features

  • State management with Riverpod
  • Real-time Audio Stream
  • Show decibel line chart and measure decibel with your phone
  • Show decibel scale information
  • Show notifications on app when sound detected
  • Automatically save detection history in the history screen
  • Send some feedback to the hearsitter team through email
  • Delete detection history

🚀 Getting Started

Click to download a releaed apk. To install this, you need to able downloading an app from unknown sources.

Requirements

Dart >= 2.18.0 & Flutter >= 2.0.0