GithubHelp home page GithubHelp logo

baharudin-yusup / salingsapa Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 43.04 MB

A video call apps to enable deaf people to communicate with normal people using sign language recognition and speech-to-text

License: GNU General Public License v3.0

Kotlin 0.03% Ruby 0.44% Swift 0.18% Objective-C 0.01% Dart 98.51% PowerShell 0.38% Shell 0.46%
agora android bloc clean-architecture firebase flutter ios sign-language-recognition speech-to-text tensorflow-lite

salingsapa's Introduction

App Banner

Get it on Google Play Get it on Google Play

Salingsapa

Codemagic build status

Salingsapa is a Flutter application designed to make video calls more inclusive. The app focuses on improving communication for individuals with hearing impairments by incorporating Sign Language Recognition and Speech-to-Text features. Built following Clean Architecture principles and utilizing BLoC state management, Salingsapa ensures a robust and scalable solution.

Enjoy seamless, high-quality video calls powered by Agora and supported by a strong Firebase backend. Salingsapa aims to make communication easier and more accessible for everyone.

๐Ÿš€ Features

Inclusive Video Calls

  • Conduct video calls with a unique emphasis on inclusivity.
  • Features advanced Sign Language Recognition and Speech-to-Text for enhanced communication.
  • Seamless video calls powered by WebRTC with Agora for high-quality and efficient communication.

Sign Language Recognition

  • Employs TensorFlowLite to recognize and interpret Sign Language gestures.
  • Enhances communication for individuals with hearing impairments.

Speech-to-Text Conversion

  • Utilizes native Android and iOS APIs for real-time Speech-to-Text conversion.
  • Converts spoken words into text to aid understanding during calls.

๐Ÿ—‚๏ธ Project Structure

The project follows a well-structured directory layout to ensure scalability and maintainability.

configs/
scripts/
lib/
โ”œโ”€โ”€ core/
โ”œโ”€โ”€ data/
โ”œโ”€โ”€ domain/
โ”œโ”€โ”€ presentation/

For more details, please refer to the PROJECT_STRUCTURE.md.

๐Ÿ› ๏ธ Technical Specifications

Backend and Infrastructure

  • Firebase: Provides backend services for authentication, messaging, and remote configuration.

Core Technologies

  • Agora RTC Engine: Powers seamless and high-quality video calls using WebRTC.
  • TensorFlowLite: Utilized for Sign Language Recognition to enhance communication for individuals with hearing impairments.
  • BLoC (Business Logic Component): Manages state efficiently, ensuring scalable and maintainable application logic.

Additional Dependencies

  • Dio: Manages HTTP requests for data communication.
  • Flutter Localizations and Intl: Supports multiple languages and localization.
  • Dynamic Color: Enhances the user interface and experience with adaptive color schemes.

Architecture

  • **Clean Architecture **: Ensures the maintainability and scalability of the codebase, separating concerns into distinct layers (presentation, domain, data).

Continuous Integration and Deployment

  • Codemagic: Automates CI/CD processes, streamlining development and deployment.

Machine Learning Model

  • ASL Alphabet Dataset: The Sign Language Recognition model is trained using the ASL Alphabet dataset by Akash.

โ–ถ๏ธ How to Run the App

Prerequisites

Before you begin, make sure you have:

  • Flutter installed on your machine.
  • An emulator or a physical device connected for testing.
  • Android SDK (for running the Android app).
  • Cocoapods and Xcode (for running the iOS app).

Steps

  1. Clone the Repository

    git clone https://github.com/baharudin-yusup/salingsapa.git
    cd salingsapa
  2. Run the App

    • Configuring and Running Automatically

      • Visual Studio Code

        1. Open the "Run and Debug" panel.

        2. Choose the appropriate configuration:

          • DEV App
          • PROD App
        3. Run the selected configuration.

      • Android Studio/IntelliJ IDEA

        1. Open the "Run/Debug and Configuration" dropdown.

        2. Choose the appropriate configuration:

          • DEV App (Windows)
          • PROD App (Windows)
          • DEV App (Mac/Linux)
          • PROD App (Mac/Linux)
        3. Run the selected configuration.

    • Configuring and Running Manually

      This example demonstrates how to run the app manually on MacOS in a development environment:

      1. Initialize Environment

        Run the initialize-env.sh script with the --env dev argument to set up the development environment.

        chmod +x ./scripts/initialize-env.sh && ./scripts/initialize-env.sh --env dev
      2. Initialize Firebase Options

        Run the initialize-firebase-options.sh script with the --env dev argument to set up Firebase options for the development environment.

        chmod +x ./scripts/initialize-firebase-options.sh && ./scripts/initialize-firebase-options.sh --env dev
      3. Generate Necessary Files

        Run the following command to generate necessary files and delete any conflicting outputs.

        dart run build_runner build --delete-conflicting-outputs
      4. Install Flutter Packages

        Run the following command to install required Flutter packages.

        flutter pub get
      5. Run the App

        Finally, run the app with the specified flavor and target.

        flutter run --flavor dev --target=lib/main_dev.dart

We hope you find Salingsapa useful and enjoyable to use. If you have any questions, suggestions, or issues, please feel free to open an issue on our GitHub repository.

salingsapa's People

Contributors

baharudin-yusup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.