Skip to content

Guppster/Ark-IoTController

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ark-IoTController

js-standard-style

Provides a user interface to control ARK IoT modules

The IoT controller is a way to monitor and interact with any Ark Blockchain connected IoT device that follows this specified architecture. The controller will be in the form of a mobile application and provide the user a Plug-and-Play process from the point of receiving an IoT device to where they can execute actions on the hardware.

The controller app provides the following functionality:

  • Ability to register a new IoT device
  • Assume and give away ownership of a device
  • Fetch interaction history for a specific device
  • Fetch available interaction from an IoT-Module and display them as buttons
  • Execute a specified action on a specified device

Learn more about the Ark IoT-Architecture

http://gurpreetsingh.me/ProjectLedger/2017/10/16/ark-iot-infrastructure.html

⬆️ How to Setup

Step 1: git clone this repo:

Step 2: cd to the cloned repo:

Step 3: Install the Application with yarn or npm i

▶️ How to Run App

  1. cd to the repo
  2. Run Build for either OS
  • for iOS
    • run react-native run-ios
  • for Android
    • Run Genymotion
    • run react-native run-android

🚫 Standard Compliant

js-standard-style This project adheres to Standard. Our CI enforces this, so we suggest you enable linting to keep your project compliant during development.

To Lint on Commit

This is implemented using husky. There is no additional setup needed.

Bypass Lint

If you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding --no-verify to your commit command.

Understanding Linting Errors

The linting rules are from JS Standard and React-Standard. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.

🔐 Secrets

This project uses react-native-config to expose config variables to your javascript code in React Native. You can store API keys and other sensitive information in a .env file:

API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh

and access them from React Native like so:

import Secrets from 'react-native-config'

Secrets.API_URL  // 'https://myapi.com'
Secrets.GOOGLE_MAPS_API_KEY  // 'abcdefgh'

The .env file is ignored by git keeping those secrets out of your repo.

Get started:

  1. Copy .env.example to .env
  2. Add your config variables
  3. Follow instructions at https://github.com/luggit/react-native-config#setup
  4. Done!

About

Provides a user interface to control ARK IoT modules

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published