Skip to content

Its an app to track devices, you can make sessions so the clients can join your sessions and start tracking them.

Notifications You must be signed in to change notification settings

ibrahimEltayfe/live_tracking_app

Repository files navigation

Live Tracking App

It`s an app to track devices, you can make sessions so the clients can join your sessions and start tracking them. Tracker can track and manage more than one session as well as clients can subscribe to more than one session.

Tracking Preview

Used fake gps app to simulate device movement.

livetracking.mp4

User Interface

Login, Register

Tracker

Client

File Structure

lib
├── config
│   ├── app_routers.dart
│   ├── app_themes.dart
│   ├── initialize_app_services.dart
│   ├── providers.dart
│   └── type_def.dart
├── core
│   ├── constants
│   │   ├── app_colors.dart
│   │   ├── app_fonts.dart
│   │   ├── app_icons.dart
│   │   ├── app_images.dart
│   │   ├── app_lottie.dart
│   │   ├── app_routes.dart
│   │   ├── app_styles.dart
│   │   └── end_points.dart
│   ├── error_handling
│   │   ├── dio_errors.dart
│   │   ├── exceptions.dart
│   │   ├── failures.dart
│   │   ├── fb_auth_errors.dart
│   │   ├── geo_action_type.dart
│   │   └── validation.dart
│   ├── extensions
│   │   ├── localization_helper.dart
│   │   ├── mediaquery_size.dart
│   │   └── theme_helper.dart
│   ├── shared
│   │   ├── enums
│   │   │   ├── app_languages.dart
│   │   │   ├── session_state_enum.dart
│   │   │   ├── user_state.dart
│   │   │   └── user_type.dart
│   │   ├── models
│   │   │   ├── client_location_model.dart
│   │   │   ├── drawer_model.dart
│   │   │   ├── tracking_data_model.dart
│   │   │   └── user_model.dart
│   │   ├── providers
│   │   │   ├── drawer_items_provider
│   │   │   │   └── drawer_items_provider.dart
│   │   │   └── language_provider
│   │   │       ├── language_provider.dart
│   │   │       └── language_state.dart
│   │   └── no_context_localization.dart
│   └── utils
│       ├── connectivity_watcher.dart
│       ├── crypto_service.dart
│       ├── geo_service.dart
│       ├── network_checker.dart
│       ├── real_time_manager.dart
│       └── shared_pref_helper.dart
├── features
│   ├── auth
│   │   ├── data
│   │   │   ├── data_sources
│   │   │   │   ├── auth_remote.dart
│   │   │   │   ├── email_verification_remote.dart
│   │   │   │   └── reset_password_remote.dart
│   │   │   ├── models
│   │   │   └── repositories
│   │   │       ├── auth_repository.dart
│   │   │       ├── email_verification_repo.dart
│   │   │       └── reset_password_repo.dart
│   │   └── presentation
│   │       ├── manager
│   │       │   ├── check_email_verification_provider
│   │       │   │   ├── check_email_verification_provider.dart
│   │       │   │   └── check_email_verification_state.dart
│   │       │   ├── login_provider
│   │       │   │   ├── login_provider.dart
│   │       │   │   └── login_state.dart
│   │       │   ├── register_provider
│   │       │   │   ├── register_provider.dart
│   │       │   │   └── register_state.dart
│   │       │   ├── reset_password_provider
│   │       │   │   ├── reset_password_provider.dart
│   │       │   │   └── reset_password_state.dart
│   │       │   ├── send_email_verification_provider
│   │       │   │   ├── send_email_verification_provider.dart
│   │       │   │   └── send_email_verification_state.dart
│   │       │   ├── social_login_provider
│   │       │   │   ├── social_login_provider.dart
│   │       │   │   └── social_login_state.dart
│   │       │   └── user_type_provider
│   │       │       └── user_type_provider.dart
│   │       ├── pages
│   │       │   ├── decide_page.dart
│   │       │   ├── email_verification_check_page.dart
│   │       │   ├── forgot_password.dart
│   │       │   ├── login.dart
│   │       │   ├── register.dart
│   │       │   └── social_register_page.dart
│   │       └── widgets
│   │           ├── back_arrow.dart
│   │           ├── or_divider.dart
│   │           ├── social_buttons.dart
│   │           └── user_type_switcher.dart
│   ├── client
│   │   └── home
│   │       ├── data
│   │       │   ├── data_sources
│   │       │   │   ├── client_tracking_sessions_remote.dart
│   │       │   │   ├── tracker_data_remote.dart
│   │       │   │   └── update_location_remote.dart
│   │       │   ├── models
│   │       │   │   └── location_updater_model.dart
│   │       │   └── repositories
│   │       │       ├── client_tracking_sessions_repo.dart
│   │       │       ├── tracker_data_repo.dart
│   │       │       └── update_location_repo.dart
│   │       └── presentation
│   │           ├── manager
│   │           │   ├── client_add_session_provider
│   │           │   │   ├── client_add_session_provider.dart
│   │           │   │   └── client_add_session_state.dart
│   │           │   ├── client_tracking_sessions_provider
│   │           │   │   ├── client_tracking_sessions_provider.dart
│   │           │   │   └── client_tracking_sessions_state.dart
│   │           │   ├── location_updater_provider
│   │           │   │   └── location_updater_provider.dart
│   │           │   └── trackers_data_provider
│   │           │       └── trackers_data_provider.dart
│   │           ├── pages
│   │           │   └── client_home_page.dart
│   │           └── widgets
│   │               ├── client_add_session_bottom_sheet.dart
│   │               └── client_session_widget.dart
│   ├── home
│   │   ├── data
│   │   │   ├── data_sources
│   │   │   │   └── user_data_remote.dart
│   │   │   ├── models
│   │   │   └── repositories
│   │   │       └── user_data_repo.dart
│   │   └── presentation
│   │       ├── manager
│   │       │   └── provider
│   │       │       └── user_data_provider
│   │       │           ├── user_data_provider.dart
│   │       │           └── user_data_state.dart
│   │       ├── pages
│   │       │   └── home.dart
│   │       └── widgets
│   ├── map
│   │   ├── data
│   │   │   ├── data_sources
│   │   │   │   └── client_location_remote.dart
│   │   │   ├── models
│   │   │   └── repositories
│   │   │       └── client_location_repo.dart
│   │   └── presentation
│   │       ├── pages
│   │       │   └── map_page.dart
│   │       ├── provider
│   │       │   ├── client_location_provider
│   │       │   │   └── client_location_provider.dart
│   │       │   └── map_provider
│   │       │       ├── map_provider.dart
│   │       │       └── map_state.dart
│   │       └── widgets
│   ├── profile
│   │   ├── data
│   │   │   ├── data_sources
│   │   │   │   └── profile_user_remote.dart
│   │   │   ├── models
│   │   │   └── repositories
│   │   │       └── profile_user_repo.dart
│   │   └── presentation
│   │       ├── manager
│   │       │   ├── profile_user_provider.dart
│   │       │   └── profile_user_state.dart
│   │       ├── pages
│   │       │   └── profile_page.dart
│   │       └── widgets
│   ├── reusable_components
│   │   ├── buttons
│   │   │   ├── action_button.dart
│   │   │   ├── back_button_shadow_box.dart
│   │   │   └── double_back_to_exit.dart
│   │   ├── dialogs
│   │   │   ├── show_location_permission_dialog.dart
│   │   │   └── show_session_details_dialog.dart
│   │   ├── drawer
│   │   │   ├── drawer.dart
│   │   │   └── drawer_icon.dart
│   │   ├── toasts
│   │   │   ├── error_toast.dart
│   │   │   └── success_toast.dart
│   │   ├── input_text_field.dart
│   │   ├── phoneix.dart
│   │   ├── shimmer_loading_effect.dart
│   │   ├── status_snackbar.dart
│   │   └── user_network_imagee.dart
│   └── tracker
│       └── home
│           ├── data
│           │   ├── data_sources
│           │   │   ├── client_data_remote.dart
│           │   │   └── tracker_tracking_sessions_remote.dart
│           │   ├── models
│           │   │   └── quote_model.dart
│           │   └── repositories
│           │       ├── client_data_repo.dart
│           │       └── tracker_tracking_sessions_repo.dart
│           └── presentation
│               ├── manager
│               │   ├── client_data_provider
│               │   │   └── client_data_provider.dart
│               │   ├── tracker_add_session_provider
│               │   │   ├── tracker_add_session_provider.dart
│               │   │   └── tracker_add_session_state.dart
│               │   ├── tracker_session_actions_provider
│               │   │   ├── actions_waiting_list_provider.dart
│               │   │   ├── tracker_session_actions_provider.dart
│               │   │   └── tracker_session_actions_state.dart
│               │   └── tracker_tracking_sessions_provider
│               │       ├── tracker_tracking_sessions_provider.dart
│               │       └── tracker_tracking_sessions_state.dart
│               ├── pages
│               │   └── tracker_home_page.dart
│               └── widgets
│                   ├── session_details_widget.dart
│                   ├── tracker_add_session_bottom_sheet.dart
│                   ├── tracker_disabled_session_widget.dart
│                   └── tracker_enabled_session_widget.dart
├── l10n
│   ├── app_ar.arb
│   ├── app_en.arb
│   ├── app_localizations.dart
│   ├── app_localizations_ar.dart
│   └── app_localizations_en.dart
├── firebase_options.dart
└── main.dart

About

Its an app to track devices, you can make sessions so the clients can join your sessions and start tracking them.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages