Skip to content

virtualdojo/virtualdojo-rooms

Repository files navigation

VirtualDojo Rooms

All Contributors

https://app.virtualdojo.it/

Create and manage classroom sessions with multiple video chat rooms. It can also be useful to organise small conference or meetup with various topics.

create new event Create New Event join event Join Event
jitsi view Main Screen (Jitsi) rooms view Rooms
documents Shared Documents settings Settings

Motivations

The idea is born from various CoderDojo mentors that were looking for an open source tool with the following characteristics:

  • Can create and manage classroom sessions (we call it events) with more than 50 participants
  • Is meant to be used by multiple teachers(mentors) in the same classroom
  • Provides basic video/audio/text chat capabilities
  • Has an easy way to share participants' screen at the same time
  • Creates new rooms on the fly
  • Enables teachers to move participants automatically between rooms
  • Integrates a document viewer (usually we have a small set of topics per events)

If want to know more, we have some blog posts about our story (Part1 - Part2). The posts are in Italian but we're planning to translate them in the future.

Most of the contributors are mentor from several CoderDojo organizations in Italy, we're not directly affiliated with CoderDojo Foundation.

Development

Create a new Firebase project and copy and rename the .env file to .env.development.local and add your Firebase Web credentials. Remember to enable anonymous authentication. We also use Firebase Functions and to enable local development set up admin credential. The key should be located in /functions/dev-admin.key.json.

To start development for the first time run the following commands:

npm i
cd functions/
npm i
cd ..
npm run start:dev

The commands above will install all the dependencies and will start both Firebase emulator and Frontend development server.

After you deploy for the first time in development(see next section) you don't need to run the Firebase emulator if you're only working at the frontend, just use this command:

npm run start

Deploy

To deploy in production you have to create a new Firebase Web app and add the credentials to .env.production.local. Install the Firebase CLI and init your project with hosting enabled, then run:

npm run deploy

Check package.json to see how to deploy to dev and production with different environment variables.

Technologies

  • Jitsi: Video/audio/text chat
  • Firebase: Hosting, Functions, Database with subscriptions
  • React: Frontend
  • Comic Neue: A font that looks similar to Comic Sans 🎨

Contributors


Andrea Tosatto

💻 📖 🎨

Pietro Rampazzo

💻 🤔

Esther

💻 🎨

Sponsors

Some of the contributors are Tes employees. Thanks Tes for giving time to develop and release this tool as an open source project.

About

Create and manage classroom sessions with multiple video chat rooms. It can also be useful to organise small conference or meetup with various topics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •