Our solution aims at creating a platform for the given problem statement using an ELECTRON based GUI Desktop Application. We have identified 5 key elements for a consistent learning platform, namely VIRTUAL MACHINE INSTANCE, VIDEO CONFERENCING, VIDEO FEED, INSTANT MESSAGING AND USER EXPERIENCE.
A virtual machine instance is given in our platform which connects to a terminal which helps the learners to execute or test various cyber exploits simultaneously when he/she is watching the video or is in a video conference. We used "katacoda docker container" for creating a Virtual Machine instance. The container loads the terminal where testing can be done simultaneously while learning.
Emphasizing the learner-instructor experience on a virtual platform, we've used a Video Conferencing Service to facilitate for multiway user interaction.
As a part of the curriculum of the course, the instructor might be interested to provide pre-recorded videos to their learners. To enhance this experience, we chose to use Firebase's Cloud Storage to deliver video content on demand to the learners.
ADDING TO THE USER EXPERIENCE
With the help of DialogFlow and Actions on Google, we designed a voice agent who could interact with the learners to remind them or provide information regarding their training process to them given that they are properly authenticated.
To provide the basic required communication between the Instructor and the learner, an instant messaging service has been designed with the help of Firebase's Realtime Database which ensures that the learners and the instructors never miss out on any schedules.
- Node js
- Google Cloud Platform
- Electron - Cross platform application development.