Skip to content
This repository was archived by the owner on Aug 29, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LISA-High-Level-view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8" version="7.2.9" editor="www.draw.io" type="device"><diagram id="8c92e61c-5d4b-58e6-bfb7-0b78ab075018" name="Page-1">7Vptb5s6FP41fEwEOBDysc3tukmrFt1UutunyYBDrBqcGeel99dfG2wC2Omi3SRLp1RqZc4xxj7Pw/FzTB0wzXePDK6WTzRFxPHddOeAvxzfn4wm4q80vNaGIIhqQ8ZwWpu8vWGO/0XK6CrrGqeo7HTklBKOV11jQosCJbxjg4zRbbfbgpLuU1cwQ4ZhnkBiWv/BKV/W1sgP9/aPCGdL/WQvVAuOYfKSMbou1PMcHyyqn9qdQz2WWmi5hCndtkzgwQFTRimvW/luiogMrQ5bfd+HA95m3gwV/Kgb1Dw2kKyRnnI1Mf6qg1EtB8kbXAfcb5eYo/kKJtK7FegL25LnRFx5ollyRl/QlBLKqruBW/0IzwIT0rKrsAg7LfgHmGMiufIRkQ3iOIHKoajh+eraNjAkOCuELRFrRsJ5bwZBxWWDGEe7lkkF5RHRHHH2Kroob6DiovjrT9QI2z0bGgyXbSZMlBEqBmbN0HsUREMBYQdlcsPEhgkY90FxDVAAsIDSGP8PKL4ByjODmJTivofdiqGyPDFIYRKheGGClEIULZKrBSkCHZBGrgmSZ3tzwhNgNDIw4hIjEfOXQbKEPBZp9QaSBaRxdDmQxj/PbqhI7+QuLpdNYFnipIo9ZNw0t9HRm6lrgwoAFdHao/f18BQgoR3mX9UsZPubnMQwkFeFCM9XNafqYu87iKRYaYZ4J++gtKNYTGhb0AUW5LSNIQI53nR1jg1O9YQZxWJyDXMaBmjm9FNrSdcsQequtvDoDQT83kBBb6A6BsZAFbuaZR9FOM9M3W8xrqAFuhpeNezZk+mbJpPinHIp1mkGzhDDIkYyY1S93yHXRqNulgLRL3JNbEKdgQL3fFwDBtceKc0EzXx3vkIoWYrG3ezTibehNIzDILQKOj+53m2op7LHF5QKnqkV5rRYmyJOLkeEinyGMSIzWmKOqQxEjtNU9rnXHe5UhBqHAZhODX6dU1byCfkukxX0cEHoVkgUxoe0GMj68jtDCySCKylwQXVxWOGQXgBOyYTQ677pvoUJroUJ/YzwS0yIbky4HiZ4vSIvvCQTzMJ7XtBtTF9PnK7fZ9Xg9bSfZ8PmXPlaj/sHiThPX/S1ml3ZvaniainUpXFb2ekkdyXSzgM9RdZX/8dKOy+6mLRrXph3zEDPMYrQtxlo1LPHMRDcGHgOBpqFLMElHJQcFikkgnADxw+JCNR9ijeimcnmhuIEDRKa56KX9sdMu7VFPLx1023Dc8xjMqssPduGZ1aSFdgrss5wUQ4EmkIbMgvgT5VHLr7qKseUMYGJlGvlDe/DH31A0MH7omfXfmDHO6Y7AxyxHv4TBCI/BqHlRCANUJSObAE8WL3YwD/F2zXuFn22b2xAfwtrR9s/RbTNU+h+Ku3lzT8RgqCPgG8g0KjJkyNglt0VAmtsSWl3RbYmUCQ7dyR+F4xWOzBcrW7Z7I1sFv6+3QuY5drz89ypDkHhi3Xbmn2afnF8MbI7o4S8DofDI8G9nctc4lymd1YLLB/fz3YwA8zSa/9ht0Q/1ojISJqc+vL3k8wXVGaO8gcRr71opJDDGJboljuOzh2jcXi23CEu9//vVFdF+/8pAw//AQ==</diagram></mxfile>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe it will be good to create a folder docs and put it in here with also a png file representing this

29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,35 @@ Voice recognition work in 2 phases thanks to the [sonus](https://github.com/evan
- `yarn start //npm start //node index.js`
- Go to http://localhost:3000

## Vagrant

A basic VM can be automaticly provisioned for development purposes using Vagrant.

Using vagrant you can run L.I.S.A on any machine which supports virtualisation. (windows/OSX/linux/etc).

### Prerequisites

* Vagrant
* Virtualbox
* git

### Setup

```bash
git clone https://github.com/mylisabox/lisa-box.git
cd lisa-box
vagrant up

```

### Running L.I.S.A

```bash
vagrant ssh -c "cd /vagrant && yarn start"
```

See Vagrant documentation for more information using vagrant.

## Notification
There multiple template available for notifications. Here there are :

Expand Down
74 changes: 74 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "debian/contrib-jessie64"

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 3000, host: 3000

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: [
".git/"], rsync__args: ["--verbose", "--archive", "-z", "--copy-links"]

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end

config.vm.provision "shell", path: "scripts/vagrant-provision-debian.sh"
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end
27 changes: 27 additions & 0 deletions scripts/vagrant-provision-debian.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
apt-get update -y

#install build utils
apt-get install -y build-essential

#install basic utils
apt-get install -y nano curl git unzip mongodb-server

#install node
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

#install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update -y && apt-get install -y yarn

#sox install for sonus speech recognition
apt-get install -y sox libsox-fmt-all alsa-utils

apt-get install -y libatlas-base-dev libatlas3gf-base
apt-get install -y usbutils
apt-get install -y lirc
apt-get install -y libzmq-dev

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As it's for development purpose we can add here all plugins of the lisa organisation and do a yarn install on them what do you think ? It will speed up full setup and allow others to add easily there own plugins

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, might we consider using git submodules for the plugins? It's a little used feature and some people don't like it though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like it to be honest lol :D even more here because I don't want plugin to be "link" to the main app. I prefer having an array of plugins and iterate on it to clone repos. What do you think?

cd /vagrant && yarn install