During the Covid-19 pandemic, our school resorted to online learning using Google Meet. We as secondary school students are well aware that many other schools are using either Google Meet or Zoom to facilitate online learning.

We noticed our secondary teachers needed a better way of creating and sharing Google Meet links with their students. For instance, many times, they wanted to schedule a Google Meet in advance, but the links expired, and they were not able to do this. Other times, they simply wanted to create breakout Meets for different groups, but had to ask one of the students to create meet links for them. We wanted to create a software that would help teachers during this unprecedented global crisis.

What it does

Using this website, teachers will be able to:

  1. Create a specified number of groups randomly, by homeroom, gender and nationality, or by a custom preset.
  2. If the teacher randomly generated groups and likes the generated result, then he/she will be able to save it to use later.
  3. Create a Google Meet or Zoom video call link for each group. Additionally, teachers have the option of automatically sending an invitation (with the link) to each group member.

How it Works

  1. The teacher will first sign up for an account on the website
  2. The teacher will then be able to upload CSV files containing their students information. They may also upload CSV files of custom groups should they wish.
  3. Anytime the teacher wishes to create groups, all they have to do is go to the group generator page. Then, they can pick the class file - e.g. "AP Statistics.csv" and they will be able to create groups

How we built it

We used Python Flask for the backend, using Selenium to generate Google Meet/Zoom links. We used Javascript, HTML, and CSS for the frontend.

Challenges we ran into

The lack of a Google Meet API meant that we had to use Selenium to generate Google Meet links. On the backend, we struggled to find useful XPATHs on the website to use for the driver. Additionally, it was our first time working separately on a website as a frontend and backend developer. Until now, we had mostly worked on the backend together, so it was difficult for us to determine the responsibilities of each one of us.

It was difficult designing the algorithm to sort students into groups based on gender, nationality, homeroom or any other criterion split. For instance, if the user wanted to split by gender, then the algorithm had to make sure that males and females were eventually distributed across groups, meaning that each group had similar number of males and females. We overcame this by initially writing the algorithm in pseudocode, then using the appropriate tools in Python to implement it.

Accomplishments that we're proud of

This was also the first time we used Bootstrap, so we are proud of the aesthetics of the website. We believe the interface looks modern and innovative.

Share this project: