/livenote-plus-plus

A novel simpler, lighter, faster way web-based to share your keynote 🚀 👨‍🏫 👩‍🏫

Primary LanguageJavaScript

Livenote++

A novel simpler, lighter, faster way web-based to share your keynote 🚀 👨‍🏫 👩‍🏫

Table of contents

Introduction

Livenote++ is an Open Source tool that could help people to deliver lessons and webinar in a fast and scalable way. The idea was born during the spread of Covid-19. We were looking for a FOSS that could be used by university's teachers to provide regular lessons to the students. Any platform that we've tried had subscrition fees for the Pro functionalities, or had problems about unstable connection, error and bug on high volume of clients and so on. So, like good programmers, we've started to build our own platform.

What's Livenote++ for aim?

The aim of Livenote++ is to manage lesson/seminars from one person to a large number of spectators, but leaving them the possibility to interact with some tools. The main principle for this project is to have a lightweight platform to present a keynote or some slides. We've achieved this goal mixing some technologies -listed below- reducing the impact of communications or streaming between the clients.

🔥 TRY ME 🔥

preview

Features

For now, the project is full supported on Desktop browser (Chrome 37+, Opera 24+, Firefox54+)

Stable:

  • ⚡ Stateless -no personal informations are stored-
  • 🔥 LoadAndPlay -load your pdf and start your presentation-
  • 🚀 Streaming audio and video for the presenter
    • If you don't want to share your webcam, you can use an adorable pokemon as a placeholder!
  • ✨ Live chat with your spectators
  • 🎉 Create Real time poll

Unstable:

  • ✏️ Draw on your slides with your mouse
    • You can also change the color and the width of the drawings!
    • There are several bugs we are fixing!

Next steps:

  • Travis
  • Code coverage
  • Full crossplatform
  • Upgrade of poll feature

Technologies

We made Livenote using the following tools:

Backend:

🔍 If you have problems with TURN server for the RTCconnection, follow this guide

Frontend:

Contributing and Development

Installation

Start using Node

🙈 Remember to change the certificate for https and the address of stun server with your own

# Install dependencies for server
npm install

# Start turn on the machine where should run
systemctl start coturn

# Run the server
node server

Start using Docker

# Building the image
docker build --tag livenote++ .

# Run the image in a container
docker run -d -p 433:433 livenote++

How to run on your local environment?

If you want to run this project in local (no https), you can apply this changes to the code in server.js

// Change port to 8080 or one free of your choice
const port = 8080;
// Change instance of server to http instead of https
const server = http.createServer({ 
},app);

🍻 Enter in our discord community for suggestions and/or help Discord

License

MIT license

This project is licensed under the MIT License - see the LICENSE.md file for details