Code Monkey home page Code Monkey logo

robohome-web's Introduction

Build Status Code Climate

#RoboHome-Web

##What Is RoboHome-Web?

This repo is one of a few repos that make up the whole project. RoboHome-Web is the codebase that represents the frontend of the RoboHome project. The web interface provides a way to create users, add and manage devices, and an additional way to control devices. RoboHome-Web is primarily built using PHP with the F3 Framework for MVC and routing, MySQL for the database, and Bootstrap for layout and basic mobile support.

##What Is the RoboHome Project?

RoboHome is a SaaS tool that also integrates with Amazon's Echo to enable control of semi-connected devices (think IR, and RF) in your house over wifi! This is done using an MQTT pub-sub network to send messages between the website or Echo to a microcontroller like the NodeMCU which has various transmitters hooked up to it (like IR and RF transmitters) to send signals to these devices. This can be used to control RF outlets with lights plugged into them, or to turn on your TV and change channels for instance.

##Developing RoboHome-Web

###Requirements

  1. Webserver with PHP 5.6 or greater with MySQL and a SSL/TLS cert available for Free with Let's Encrypt. This is used to host the Bootstrap based website to add, delete, edit, and control devices from anywhere.
  2. MQTT broker for pub-sub. I personally use CloudMQTT. This service is used to send messages a webservice and a microcontroller.
  3. An account with Amazon to be used for account registration using OAuth.
  4. An account with Login with Amazon to allow your website to use OAuth to verify users. Tip, be sure to register both www and non-www versions of URLs for the "Allowed JavaScript Origins."

###Configuring

  1. Open the secrets.ini file and populate the information needed to connect to your MQTT broker, MySQL database, and an Amazon login Client ID.

##Contributing

###How To Contribute

Contributions are always welcome! Please open a PR with your code or feel free to make an issue. All PRs will need to be reviewed and pass automated checks. This repo supports the principles of Bob Martin's Clean Code.

###Notes

  • To avoid seeing the secrets.ini file (particulary when Git says you have unstaged changes during a rebase) in your repo and you don't want to ignore it, run git update-index --assume-unchanged web/fatfree/app/secrets.ini

This is a new project and will be changing rapidly, more details will be provided when entering a beta state

robohome-web's People

Contributors

dbudwin avatar leftees avatar

Watchers

Alex 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.