Coder Social home page Coder Social logo

lucasvinals / udomo Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 0.0 4.47 MB

:point_right: Simple IoT for your place! :point_left: :electric_plug: :bulb: :battery: :lock:

License: GNU General Public License v3.0

JavaScript 60.31% CSS 0.97% HTML 27.10% C++ 7.22% Arduino 0.74% Shell 3.50% Batchfile 0.16%
automation iot internet-of-things domotics mean-stack nodejs node es6 home appliance

udomo's Introduction

UDOMO

Simple home automation. Yet, complete appliances management.

Steps to get uDomo running:

  • Clone this repository git clone https://github.com/lucasvinals/uDomo
  • cd to this directory and execute in a console: bash ./server/tools/prepareSystem.sh
  • Execute one of the following:
    • yarn run local (with HMR)
    • yarn run development (with a cloud based databse)
    • yarn run production (with uglify, tree shaking, etc)

TODO

  • [Server] Change old console logs for a more robust framework like Winston or Bunyan
  • [Client] Geolocation service
  • [Server] Cache (cachegoose) for caching common finds
  • [Server] Implement Nginx reverse proxy
  • [Client] Angular-Translate
  • [Client] [Server] Scenes ABM
  • [Client] Scenes Activation
  • [Server][DONE] HTTPS server instead of NET module. Verify if ESP8266 support wss!
  • [Device] Auto-discover server IP based on it's MAC.

Common issues

"failed to connect to server [127.0.0.1:12079] on first connect"

Create the "data/db" directory with mkdir -p /data/db. Restart.

About me

I'm Lucas Viñals, a guy who loves the combination of electronics and software. Feel free to contact me at "[email protected]" with any doubt you had or improvement!

udomo's People

Contributors

lucasvinals avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

udomo's Issues

Mobile App

This will be a great feature if implemented.
Angular 4 or React (with Redux) are options.

OBSERVER in modules

Se attachea 3 veces el subscribe!
Hacer herencia de una sóla clase y no duplicar en cada módulo.

Log in modules

Quit log as a parameter in modules, require it there.

Upload Page

Uploading page from device is not working. POST returns a 404.

Libraries in custom folder

It would be good to contain all libraries used (at least others than ESP8266 specific libraries) in a folder called "thirdParty" at the same level of main.ino (sensors/main/main.ino).

Tried with prepareSystem.sh but Arduino complains with "undefined references"....

Re-init the database if and error occurs

Como puedo volver a iniciar la bd y continuar con el
proceso cuando ocurra un error al iniciar el mtor??
IIFE no funciona, llamar de nuevo al proceso de creación tampoco.
Con un timeout para darle tiempo de cerrar tampoco.

        CREO QUE childprocess es asíncrono, por lo tanto, habría en
        "informarle" al "iniciar" que "matar" terminó, ya sea con un mensaje
        o con el evento "exit"

        Tratar de inciarla en vez de sólo informar al cliente que lo vuelva
        a iniciar.

Delete device

Delete devices doesn't update merged devices on process.devices

Clean task in gulpfile is async..

No se porque no funciona sincrónicamente la tarea clean y luego las demas, tuve que iniciarlo solo y luego continuar con build.
Tratar de iniciarla antes de "construir"

ABM Routes

ABM script (cmd o sh) para agregar/modificar/eliminar rutas.

Seria genial un script interactivo de consola en node.

Secret key in DB

Cuando se crea el usuario la clave debería ser secreta, para cada usuario ejemplo, en BD

Socket connection lost

"The connection to ws://localhost/socket.io/?EIO=3&transport=websocket&sid=tbrw_aK5LoZNcIfmAAAC was interrupted while the page was loading"

UUID Device

En el dispositivo, crear un UUID nuevo cuando se programa?

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.