📱 Fetosense Device Flutter

A Flutter-based mobile application for interfacing with the Fetosense NST/CTG device—a portable, wireless fetal monitoring system developed by CareNX Innovations.

🚀 Features

  • Real-time monitoring of fetal heart rate and uterine contractions
  • Seamless Bluetooth connectivity with the Fetosense device
  • Intuitive and user-friendly interface
  • Secure data storage and retrieval
  • Support for patient data management

🛠️ Getting Started

Prerequisites

  • Flutter SDK (version 3.24.5)
  • Dart SDK
  • Android Studio
  • A connected Fetosense device for testing

Installation

git clone https://github.com/CareNX-Innovations-Pvt-Ltd/fetosense_device_flutter.git
cd fetosense_device_flutter
flutter pub get
flutter run

Project Structure

lib/
├── core/                               # API integration services
    ├──adpcm/                           # ADPCM codec for audio processing
    ├──constants/                       # All string, api and app route constants used in the app
    ├──network/                         # appwrite configuration and dependency injection
    └──utils/                           # Utility functions and helpers
├── data/                               # Business logic components
     ├──models/                         # Data models
     └──repository_implementation       # Repository implementation for data access
├── domain/                             # Business logic components
    └──repository                       # Use cases for business logic
├── screens/                            # UI screens
├── presentation/                       # Views
    ├──pages/                           # Individual pages of the app
        ├──page_view                    # View for displaying page content
        ├──page_cubit                   # Cubit for page state management
        └──page_state                   # State management for pages
    ├──widgets/                         # Reusable widgets
    └──blocs/                           # State management using BLoC pattern
└── main.dart                           # Application entry point

Deployment

Android

  1. Generate a keystore file:

    keytool -genkey -v -keystore fetosense.keystore -alias fetosense -keyalg RSA -keysize 2048 -validity 10000
    
  2. Build the APK:

    flutter build apk --release
    

iOS

  1. Set up your iOS signing certificate in Xcode
  2. Build the app:
    flutter build ios --release
    

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is proprietary software owned by CareNX Innovations Pvt. Ltd.

About CareNX Innovations

CareNX Innovations is a healthcare technology company focused on developing innovative solutions for maternal and fetal healthcare. The Fetosense device and companion applications are designed to improve access to quality healthcare for expectant mothers, especially in remote and underserved areas.

Contact

CareNX Innovations Pvt. Ltd.

Acknowledgments

  • Thanks to all healthcare providers and mothers who provided feedback during development
  • Flutter and Dart communities for excellent documentation and support

Libraries

core/adpcm/adpcm
core/constants/app_constants
core/constants/app_routes
core/network/appwrite_config
core/network/dependency_injection
core/utils/bluetooth_service_helper
core/utils/color_manager
core/utils/date_format_utils
core/utils/fhr_byte_data_buffer
core/utils/lmtp_decoder
core/utils/preferences
core/utils/svg_strings
core/utils/utilities
A utility class providing helper methods for common app functionalities.
data/models/doctor_model
data/models/intrepretations2
data/models/marker_indices
data/models/mother_model
data/models/my_fhr_data
data/models/organization_model
data/models/test_model
data/models/user_model
data/repository_implementation
domain/repository
main
presentation/about/about_view
presentation/all_mothers/all_mothers_cubit
presentation/all_mothers/all_mothers_view
presentation/app_settings/app_setting
presentation/details/details_cubit
presentation/details/details_state
presentation/details/details_view
presentation/doppler_connection/bluetoothlocal_bloc
presentation/doppler_connection/doppler_connection_view
presentation/graph/graph_painter
presentation/home/home_cubit
presentation/home/home_view
presentation/login/login_cubit
presentation/login/login_view
presentation/mother_details/mother_details_cubit
presentation/mother_details/mother_details_view
presentation/notification/notification_view
presentation/register_mother/register_mother_cubit
presentation/register_mother/register_mother_view
presentation/speaker/speaker_connection_view
presentation/splash/splash_screen
presentation/test/test_view
presentation/widgets/animated_counter
presentation/widgets/audio
presentation/widgets/custom_radio_btn
presentation/widgets/date_picker_widget
presentation/widgets/fhr_pdf_view
presentation/widgets/fhr_pdf_view_2
presentation/widgets/interpretation_dialog
presentation/widgets/pdf_base_page