/MirrorOS

MirrorOS is an interface for smart mirrors and transparent screens with a J.A.R.V.I.S. touch to it

Primary LanguageJavaScriptOtherNOASSERTION

MirrorOS Logo

Github Releases Build Status Snyk Vulnerabilities Check

MirrorOS

MirrorOS is a lightweight user interface designed specifically for Magic Mirrors and transparent glass touch screens. The UI is built on NodeJS, React and Electron.

App Launcher

Video Demo

ezgif

Automatic installer

Coming Soon.

Manual Installation

Please be aware that MirrorOS is currently at the "proof of concept" stage. Almost all features are broken/in an early stage. If you still wan to try the software, please follow this tutorial How to Install on a Raspberry Pi

  • Note: requires a node version >= 7 and an npm version >= 4.
  • If you have installation or compilation issues with this project, please see our debugging guide

First, clone the repo via git:

$ git clone --depth=1 https://github.com/wassgha/MirrorOS.git MirrorOS

And then install dependencies with yarn.

$ cd MirrorOS
$ yarn

Note: If you can't use yarn for some reason, try npm install.

Run

To deploy the app and run it in production mode, simply use:

$ npm start

Features

Current features

  • Face Recognition and Smile detection for logging-in to the Mirror
  • Constant monitoring of user presence through face detection
  • Home UI almost done, with clock, date and weather
  • Draggable placeholder widgets
  • Almost ready app launcher
  • Leap Motion Support to substitute touch screens (using Leap Motion Touch Screen)

To implement

  • Support for apps, widgets and extentions
  • Providing an API for developers to extend the UI
  • Communication with nearby devices (getting notification from phone, connecting to bluetooth speakers)
  • Support for Air Play and other video streaming platforms to display content on the Magic Mirror/Display
  • Alexa integration
  • User accounts and face training
  • Live selfie filters app (filter overlay on mirror)
  • Uber/Lyft integration
  • News app
  • Live TV widget
  • Smart home widget (Nest & co integration)
  • OTA updates

Development

Start the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a server that sends hot updates to the renderer process:

$ npm run dev

Editor Configuration

Atom

apm install editorconfig es6-javascript atom-ternjs javascript-snippets linter linter-eslint language-babel autocomplete-modules file-icons

VSCode

Sublime

Others

DevTools

  • OS X: Cmd Alt I or F12
  • Linux: Ctrl Shift I or F12
  • Windows: Ctrl Shift I or F12

See electron-debug for more information.

How to write your own MirrorOS widget

Will be updated soon with a complete guide. Note: Class names and IDs starting with os and os- are reserved for the internal use of the MirrorOS runtime.

Maintainers

License

Non-commercial, private and educational use only except by written authorization.