BouBouBox is a french project, it's goal is to bring home automation to everyone, integrating low cost and high efficiency solutions to our box.
BouBouBox uses a number of open source projects to work properly:
- node.js - evented I/O for the backend
- npm - node.js packet manager
- Express - fast node.js network app framework
- socket.io - real-time bidirectional event-based communication framework
- vue.js - progressive javascript view framework
- vuex - vue.js application state plugin
- vue-router - vue.js routing plugin
- jsonwebtoken - authentication token manager
- knex.js - lightweight and powerful db-orm
And of course BouBouBox itself is open source with a public repository on GitHub.
You can test the BouBouBox project without the milight bridge. You just need to run the project in dev mode to see the commands sent to the bridge in the server NodeJS console (commands are loggde in user friendly format).
This project requires a MySQL database only if running in staging or production mode.
If you don't own a milight bridge, and just want to test the project in dev mode, you don't need any MySQL server : the project runs on a sqlite3 db.
All db configuration is located in knexfile.js
.
To set up your project to run in dev mode, you'll need to run this commands on your BouBouBox project directory.
## Setting up git repository
git clone <git-url>
cd BouBouBoux/
git checkout tags/<version-name>
## Launching demo
npm run demo
The Node JS server is now listening on port 3000. You can access it from your machine through http://localhost:3000.
The default user credentials are [email protected]
, with password Admin123!
.
WARNING : All changes made to the database are deleted if you run npm run demo
again. Please use npm run nodemon-dev
if you want to restart the server without flushing database.
First, connect to http://localhost:3000
. You'll be redirected to a login form. Use the default credentials to connect with a validate account. You can also create an accout, and then validate it with a connected user.
When you're connected, you can control every widget (by default, only two milight widgets), and open right sidebar to validate users waiting for validation.
You can also test real-time sync if you open two windows with the app running. If you set a light power/intensity on a window, you'll see it change on the other window.