GithubHelp home page GithubHelp logo

ududsha / loowid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from loowid/loowid

0.0 0.0 0.0 3.89 MB

Webconference solution based on webrtc

Home Page: http://www.loowid.com

License: MIT License

Shell 0.69% JavaScript 53.91% HTML 14.82% CSS 30.58%

loowid's Introduction

LooWID Build Status Build Status Coverage Status Codacy Badge Translated

LOOk What I'm Doing is a web application that allows you to connect with other users and share audio, video, screen and files without any plugin using WebRTC technology.

https://www.loowid.com

Wiki Documentation Vote us !! Bitnami Contest
Wiki Documentation LooWID Bitnami Contest Bitnami

Install

  1. You need to install nodejs, mongo and git before run LooWID.

  2. Download source code.git clone https://github.com/loowid/loowid /install/dir

  3. Create and download public and private keys of your self-signed certificate.

    http://www.cert-depot.com/
    If no certificate available LooWID startup in http port. 
    When https port is running, http port is used only to redirect to https port.
    
  4. npm install --production

  5. npm start

  6. Connect to https://localhost/

Note: If you want to work with the latest stable release then you must clone https://github.com/loowid/loowid/releases/latest

Docker

Too many steps to install? Don't worry LooWID is also dockerized !! If you have docker and docker-compose installed you can just type:

docker-compose up

This will bring up a copy of MongoDB and LooWID in 2 containers and you can access LooWID on https://{docker-ip/}

Development

Follow the same steps but change steps 5 and following:

  1. npm install -g grunt-cli

  2. npm install

  3. grunt (Default development server)

    • grunt cluster : Run cluster server with 2 nodes (--nodes=N change default value)
    • grunt prod : Run production environment do not watch for code changes
    • grunt test : Run unit tests
    Use --port=80 --sport=443 --bport=8000 to change default port values.
    add --mongodb=off to don't startup mongodb and provide it independently
    
    grunt cluster --sport=9090 --port=8080 --bport=7000 --nodes=3 
    listen in ports 8080, 7001, 7002, 7003 (http) and 9090 (https).
    
    grunt --port=8080 
    will listen in ports 443 (https) and 8080 (http).
    
    grunt --mongodb=off 
    won't startup mongodb
    
    grunt test --testcase=<file_name> --nodes=3 
    run only <file_name> testcase in a cluster environment with 3 nodes. See spec/tests folder.
    
  4. If you get some npm packages errors try npm update (We had that errors on Windows 7 64bits)

Configuration

There are some environment variables you may set to configure your LooWID deployment. Check your hosting provider documentation in order to know how to set this values, for example, with openshift you can type:

	rhc env set VARIABLE=VALUE -a app
  1. Credentials to access to some admin resources (debug level and stats). By default admin/admin.
ADMIN_USERNAME=<your-admin-username>
ADMIN_PASSWORD=<your-admin-password>
  1. Chrome plugin extension id. Set the id of your own plugin extension for screen sharing. A generic domain plugin will be used by default.
CEXTID=<generic-domain-plugin-id>
  1. XirSys configuration, to enable STUN/TURN service on XirSys
XIRSYS_DOMAIN=<xyrsis domain>
XIRSYS_USER=<xyrsys usename>
XIRSYS_SECRET=<xyrsys password>
  1. Room timeout. The number of days that a room can be active on the server before expires (15 days by default).
ROOM_TIMEOUT=15
  1. Path to certificate files. By default public.pem and private.pem in the same folder, you could set the full path to your own certificate files.
PUBLIC_KEY=<path-to-your-cert-public.pem>
PRIVATE_KEY=<path-to-your-privatekey.pem>
  1. LTI Producer Configuration. The consumer connects with multiple LooWID rooms depends on LTI context, the first user with OWNER_ROLE will be the room owner. The LooWID producer entrypoint is configured with LTI_PATH (/lti). Set LTI_DOMAIN if your host is behind a proxy with other domain than req.headers.host. More about LTI
LTI_KEY=<lti-key>
LTI_SECRET=<lti-secret>
LTI_PATH=<lti-url>
LTI_DOMAIN=<lti-host>
LTI_OWNER_ROLES=<lti-owner-role1>,<lti-owner-role2>,...
  1. Control host and port for websocket connection.
WS_HOST=<websocket-host-server>
WS_PORT=<websocket-port-server>
  1. MongoDB URL: By Default LooWID uses localhost to connect with mongodb, set one of this variables to connect to another URL.
MONGOLAB_URI=<MongoDB URI>
MONGOHQ_URL=<MongoDB URL>
  1. Embed.ly configuration, to enable OEMBED service with Embed.ly
EMBEDLY_APIKEY=<embedly api key>

Translate

If you are interested in add a translation or improve the existing ones you can use weblate platform at: https://hosted.weblate.org/engage/loowid/ . We'll incorporate your translations as soon as possible.

License

LooWID is licenced under The MIT License (MIT)

##Preview You can watch the review made by Jay Weldy to see what LooWID looks like. Thanks Jay IMAGE ALT TEXT HERE

(Click image to watch video)

Help us to maintain LooWID

LooWID is an open source project and code developement and translations contributions would be very appreciated. We encourage you to join to start developing on project and create a pull request to the main repository. If you can't contribute development or translations and still want to contribute to the project, you could donate via Flattr this git repo

That will help us to maintain www.loowid.com service up and running.

loowid's People

Contributors

juanjmerono avatar sinmsinm avatar seduerey avatar weblate avatar awsswa59 avatar nijel avatar yoanyo avatar buckett avatar ududsha avatar jconstanti avatar macbroadcast 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.