GSoC’21: First evaluation

Maanas Talwar
SCoRe Lab
Published in
2 min readJul 26, 2021

--

The first phase of GSoC’21 has come to a graceful end, and it has been a fantastic experience for me so far. I have learned a lot during this phase on the technical and other fronts.

In the first phase, I developed an end-to-end scanning application with a built-in user interface to track scan progress. This involved designing the various components of the application, implementing those components per the community standards, and writing comprehensible documentation.

In this blog, I will be going over the application I developed during this phase.

Scan8 application

The application aims to store the submitted files, transform them into jobs, and run the antivirus scan on them while providing a user interface to track the progress of each submitted scan.

The user submits a scan through the responsive front-end interface developed using HTML, Javascript, and Bootstrap. This request is handled by the Flask micro web framework, which stores the files to the server and updates the entry in the MongoDB database.

The Coordinator node then uses the data from the database to create scan jobs for each uploaded file. These jobs are added to the Redis Queue with specifics about the timeout and resubmission of failed jobs. The Worker node dequeues the jobs one by one and runs the ClamAV scan for each file while updating the database for progress.

The Flask framework continuously sends a stream of data over a web socket to keep the front-end updated with real-time progress.

Stay tuned for further updates :)

Project: Scan8

Feel free to connect with me on LinkedIn and follow me on GitHub.

--

--

Maanas Talwar
SCoRe Lab

maanas-talwar.github.io | Microsoft SWE Intern'22 | GSoC'22 Mentor | GSoC'21 | Senior @ NSUT