Skip to content

enhancer13/navi-home-client

Repository files navigation

Logo

Navi Home Client

The client application for the Navi Home Server - Intelligent Smart Home

The application is written in React Native using TypeScript

Β Β 

Project Status

Build Status:

android build ios build

lint-ts type-check test

Code Quality Metrics

Technical Debt Quality Gate Status Reliability Rating Duplicated Lines (%) Vulnerabilities Bugs Security Rating Maintainability Rating Code Smells Lines of Code

Test Coverage Metrics

Coverage Branches Coverage Functions Jest Coverage Coverage Lines Coverage Statements

Project Description

Navi Home takes home automation to the next level by integrating AI, IP-cameras, and IoT devices under a single umbrella. It's more than just a smart home; it's a self-aware ecosystem that can see, communicate, and make decisions based on the configured automation scenes.


Login screen Video streaming viewer screen Media gallery folders screen Media gallery files screen Media viewer screen Alarm profiles screen Entity editor screen System configuration screen My account screen

Login screen Video streaming viewer screen Media gallery folders screen Media gallery files screen Media viewer screen Alarm profiles screen Entity editor screen System configuration screen My account screen

Unified Interface
It is possible to seamlessly integrate any **IP camera** and a plethora of **IoT devices** (IoT devices support will be released in version 2.0.0). Monitor and manage all of these devices using a single application, thereby breaking the silos of separate device interfaces.

Unified Video Stream Manager

Manage all your configured video feeds in one place. This feature allows you to play videos, initiate recording, capture screenshots, and more, all from a single, convenient screen.

Logo


Simplified Setup Interface

Set up streaming from any publicly available video source in just a few simple steps through the intuitive configuration screen.

Logo


Adaptive Alarm System
The alarm system in Navi Server can adapt to different profiles, each with its own set of actions such as push notifications, emails, mobile phone calls, image or video saving. It can utilize either a motion detector or the AI engine's person detection feature (AI engine's person detection support will be released in version 1.3.0).

Comprehensive Alarm Settings

Alarm system offers extensive configuration options for a tailored experience. Choose from a range of options including time frames, days of the week, notification targets (such as emails, push notifications, video recordings, etc.), user groups, and more. Plus, the ability to suspend notifications adds another layer of customization to meet your unique needs.

Logo


Showcase of Alarm System Capabilities

This demonstration highlights the functionalities of the alarm system, encapsulating its ability to detect movement and alert the specified user through in-app notifications.

Logo


Media Gallery
Store and access images or videos recorded by Navi Server in the media gallery. These media items, created automatically by alarm profiles, automation scenarios or manually triggered, can be shared or used to further train the AI engine (will be released in version 1.3.0) for more precise detection.

Showcase of Media Gallery Features

The Media Gallery serves as a repository for images and videos generated through alarm profiles, automated scenarios, or user-triggered events.

Logo


The Media Gallery allows not ony to view the media items, but also to share them with others, delete them, or use them to train the AI engine (will be released in version 1.3.0).

Logo


Event-Driven Automation
Leverage the power of event-driven programming within your home automation. Navi Server allows for intricate conditional scenarios such as "When any person enters the living room, then the light turns on automatically" or "When all the persons have left the house, then the system automatically engages security mode." These scenes can be manually configured, offering extensive flexibility and customizability.

Available from Version 1.2.0


AI-Powered Object Detection
Armed with an AI engine, Navi Server can detect any person in your house and reflect their position on an interactive house map. This brings a new dimension to home monitoring, safety, and automation.

Available from Version 1.8.0


Biometric Authentication
The application streamlines the login process by incorporating biometric authentication mechanisms. On Android devices, the application supports fingerprint scanning, while on iOS devices, it utilizes FaceID for secure and convenient access.

Demonstration of Biometric Authentication on Android

This demonstration presents the process of fingerprint-based authentication for Android devices.

Logo


Theming Support
By default, application matches your operating system's theme upon installation, providing a familiar and intuitive visual experience. Later, if you prefer, you can manually switch between light and dark themes according to your preference.

Showcasing the Theme Switching Feature

Logo

Installation

The application operates in conjunction with a backend server, the Navi Home Server - Intelligent Smart Home, which is distributed independently.

The server is currently under development and its release is on the horizon. Should you wish to participate in testing the beta version, don't hesitate to reach out to me.

Under development and will be available soon.

Roadmap & Vision

1.0.0:

  • Add basic interface for integration with Navi Home Server - Intelligent Smart Home
    • User screens:
      • Login
      • Server config
      • Video streaming
      • Media gallery
        • Single media viewer
          • Slide, zoom, and pan
          • Share media
          • Delete media
      • Alarm profiles
      • System configuration
        • Video sources
        • Video streaming profiles
        • Video recording profiles
        • Motion detection profiles
        • Object detection profiles
        • Alarm profiles
        • User accounts
        • Firebase accounts
      • My account
        • Change password
    • Support for biometric authentication
    • Support for theming
    • Support for CRUD operations on all entities
    • Firebase integration (cloud messaging including push notifications and data messaging)
    • Support for in-app notifications

1.1.0:

  • Add support for WebRTC based video streaming viewer, for low latency video playback

1.2.0:

  • New user screens
    • Automation scenes (predefined scenarios)
    • Automation scenarios (user defined)
    • User notifications viewer
      • Filter notifications by type, date, and status etc.
      • Mark notifications as read
      • Delete notifications
      • Show notification details (link to the source)

1.3.0:

  • Integration with AI backend engine
    • New user screens
      • Object detection
      • AI engine training

2.0.0:

  • New user screens
    • Dashboards (main user screen - manage all aspects of the system)
    • IoT configuration

2.1.0:

  • New user screens
    • Configure alarm zones

3.0.0:

  • New user screens
    • Interactive home map creator
    • Interactive home map viewer

3.1.0:

  • Add localization for other languages
    • Ukrainian

Licence

This repository is licensed under the terms of the MIT license.

Contributors

Contributions of any kind are welcome!

Contact and Suggestion

Any feedback is welcome - feel free to create an issue or email me - garmashs@gmail.com. Thank you 😊

Support and Donation πŸ•ŠοΈ

If you like my work, you can support me by donation. πŸ‘