Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Write an api in Nodejs for ClamAV Anti Virus

 

Project Background

  • This is part of the Submission API suite

  • Submission API is a set of endpoints for a section of the Topcoder platform

  • For one of these endpoints, namely creation of a submission, we wish to check if the uploaded submission is infected with a virus or if it is clean.

  • This is where the Nodejs API in scope for this contest comes into picture. It will be used to perform an antivirus scan on the uploaded submission

 

Technology Stack

  • This is a backend only app (with REST endpoints)

  • We will use Nodejs version 8

 

Code Access

  • We are starting from scratch. You are building the api in this contest. Thus, there is no existing code base to work with.

  • However, you can take inspiration from an existing Java based api for ClamAV here.

 

Individual Requirements

Write a Nodejs api server to run ClamAV. (Major Requirement)

  • You can use an existing java api located here as reference.

  • Optionally, provide a Docker file to deploy your app. If you do provide it and win the contest (first or second place), you will earn an additional $100 (only if the Docker file is implemented correctly)

  • You will provide tests for the api server.

 

Deployment Guide and Validation Document

  • Kindly provide a README file with information on how to deploy your app

  • You are not required to provide a POSTMAN collection. However, do specify how to use the rest api in the README to scan files for viruses.

  • The file will be passed to the REST api for scanning. The REST api is expected to respond if the file is clean or infected

 

Important Notes

  • Use the standard library to lint your codebase

  • You are however also expected to provide unit tests such as verifying that the rest endpoint accurately predicts infected files or not. You can use EICAR test file

  • There’s a blog post (that you can also find in the README) that you may find useful to get a background on the reference Java api.

  • The java api is provided as a reference only. You can ignore it and provide a REST api of your own too.



Final Submission Guidelines

  • Zip and upload the code base to Topcoder

  • Ensure there are no lint errors

  • Ensure that you have provided unit tests.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30068008