Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Previously in Topcoder - Implement Endpoint For Downloading Submissions, We have implemented the logic to download the submissions which is uploaded through the upload endpoint in submission microservice (which first upload the files into AWS S3), but the implementation missed to support for submissions which is made through other applications, like Online Review etc

these submissions are recorded only informix and stored the files in NFS.

For this challenge, we'd like to improve the Download Submissions Endpoint to properly handle both cases.

Basically, 

1. If there is a corresponding record in postgres databse, which means the submission is maded through upload endpoint, do as the current implementation for Download Submissions.
2. If there is no record in postgres database, but only in informix, re-implement the download logic using the given architecture analysis.
3. The NFS location should be configurable in config.yml file and overridable through environment variable.

The architecture documentation will be provided in forum. for source code reference, you can check

- Direct App - https://github.com/appirio-tech/direct-app
- Online Review - https://github.com/topcoder-platform/tc-online-review
- Legacy Website - https://github.com/appirio-tech/tc1-tcnode (the source code is restructured but all the source code renames, so you can use search to find the classes to reference, or you can use https://coder.topcoder.com/internal/web_module/trunk)

The download submission endpoint should be working properly for design and development submissions.

Permissions should be properly applied to the download submission endpoint, right now, just let user with admin or manager roles to use this endpoint

- swagger.yaml file should be updated to define the api properly with valid and invalid cases.
- Please create Postman scripts for ease of testing.

About Local Environment

- You can follow https://github.com/appirio-tech/tc-common-tutorials/tree/master/submission-system to setup the local environment for development.  The master branch is for design submissions.
- For dev submissions, please use the dev-submission branch instead.

Final Submission Guidelines

- Code Changes for feature implementation
- Update to Submission System Setup Guide
- Deployment and Verification Steps

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30057573