We are high school students and we noticed during the Covid-19 pandemic that 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, but had to ask one of the students to create meet links for them.
What it does
- The teacher will open a .csv file in their application of choice (Excel, Numbers, TextEdit, etc) and input student information (name, nationality, gender, class, email).
- The teacher will then be able to pick a class file to open - e.g. AP Statistics class, Honours English, IB Mathematics HL, etc.
The teacher will then be able to create a specified number of student groups inside the class by splitting students in different ways, including:
randomly students will be randomly grouped.
homeroom students from different homerooms will be mixed together
nationality students from different nationalities will be mixed together
gender groups will include both males and females, not just a single sex.
manual teachers will decide the groups
The teacher will then be able to choose between two options: a. Automatically create Google Meet/Zoom call links for each group and invite the members of each group via email. The teacher can specify additional information to send along with the link in the email, such as "Please join this meet and discuss with your group members" b. Simply view the groups
How we built it
The app was written in pure Java using JavaFX (no FXML or Scene Builder used). Since we were a team of two, instead of using Git, we used a real time collaboration software as this was more convenient for us.
Challenges we ran into
We were debating over whether to use JavaFX FXML or standalone JavaFX. During the project, we tried to use Java FXML, but we didn't know it very well and we found it was time consuming, so we decided to create the entire project with pure JavaFX. This was quite challenging, especially when changing scenes. The files also got large quickly and remaining organised was difficult. The biggest challenge we ran into was exporting the Java file as an executable .jar file. We tried to export projects created in more recent versions of Java such as Java 14 (the most recent version), but that required the use of either Maven or Gradle - most likely because JavaFX is no longer part of the JDK since JDK 8. Since nothing worked out for us, we decided to use JDK 8 instead, as it supported most of the key features we heavily relied on - lambda expressions, streams, etc.
Accomplishments that we're proud of
It was our first hackathon, we didn't expect we'd manage to finish on time, so the biggest accomplishment would be creating a presentable, actually useful piece of software!
What we learned
We learnt to use Selenium to create Google Meet and Zoom links, and we learnt to use the Java Mail API to send emails to other users.
What's next for Online Learning Toolkit
- Using actual Google APIs instead of Selenium web drivers
- Using Zoom API (if we don't have to pay..?)
- Add support for more browsers and email vendors other than Chrome and Gmail
- Add support for more video call options other than Google Meet and Zoom such as Skype or FaceTime.
- Taking attendance using Google's APIs, if possible - we tried to do this using Selenium, but unfortunately, it didn't work :(