Skip to content

A novel simpler, lighter, faster way web-based to share your keynote πŸš€ πŸ‘¨β€πŸ« πŸ‘©β€πŸ«

Notifications You must be signed in to change notification settings

isislab-unisa/livenote-plus-plus

Repository files navigation

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, Opera, Firefox, Safari) All the features are available with a key combo, click on the nes console on the window to see them! If you have problem with rendering the graphic, try to disable AdBlocker and retry! This project is based on web-rtc, so if you are experiencing issues or bugs with the video/audio communications, try to check your privacy and security settings.

Stable:

  • ⚑ Stateless -no personal informations are stored-
  • πŸ”₯ LoadAndPlay -load your pdf and start your presentation-
    • In the next future we are going to support md format!
  • πŸš€ 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!
    • You can temporarily mute you if you need privacy!
  • ✨ Live chat with your spectators
    • Insert your name and have real time feedback!
    • You'll get a notify if you've missed a message!
  • πŸŽ‰ Create real time poll
    • Multiple poll: With the open poll, write the question and various options. Students will choose the option they deem right.
    • Ranking poll: Do you want to know the reaction of the students to certain things, like whether they liked the lesson or not? Well! Now you can do it. Create a ranking by writing a question and selecting one of the various fancy emoticons ⭐ ❀️. Students will have the opportunity to express their satisfaction by filling in from 1 to 4 of the selected emoticons.
  • πŸ’₯ Embed your favourite youtube video!
    • You can insert the link of the youtube video you want to show during your presentation and have plenty control on it, synchronously with your watchers!
  • ✏️ Draw on your slides with your mouse
    • You can also change the color and the width of the drawings!
  • πŸ“„ Download your presentation status!
    • You can save your settings! In future you'll have the possibility to upload them!
    • You can also save your polls data in json format!

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:

The cookie banner is provided by dobarkod through jsdeliver

Contributing and Development

Installation

Start using Node

πŸ™ˆ Remember to change the certificate for https and the address of stun server with your own You can easily generate your certificate through certbot

# 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