Challenge Overview
This is the Medium - 500 point problem of RDM-4. Please Note - The files linked in the specs will only be accessible after you register for the challenge.
Topcoder Bug Hunt Scoring Application Development - Medium Problem Detail
Gitlab provides the Facility to export the list of Tickets with their details in form of CSV(Comma Separated Values) File. This file is well structured with data in form of Columns and Rows where First Row contains Field Names. So the main task is to create the script or application which read this CSV file, displays it contents by their submitted valid, invalid, duplicate tickets, calculate final score based on valid tickets, their Priority Label Scores plus for the First and Second Position Participants calculation should be done for the same Bug found in different Browsers. This should be done only for the First and Second Place Participants who found maximum Valid Bugs.
Medium Part
In Easy part of this Challenge, Bug Tickets were listed in Tabular form group by Author Usernames. Now in Medium Part of this Challenge you have to show the Number of Bug Tickets listed by each Author Username irrespective of their Valid, Invalid or Duplicate Status . Author Username with Highest Number of Bug Tickets should be placed at number 1 position in the table, second highest at number 2 and so on.
Technology Stack
Web Application: PHP, JavaScript, C#-ASP.Net, Python, HTML, CSS Any back-end is allowed, the testing is performed only against the front-end.
**CSV File Information **
Desired Output should be as follows. It should be displayed on the Page as well as you have to save these results into a CSV file
Steps
The following are the exact steps you need to implement that your solution will be tested against:
- Host your app on port 8080 and the page should be at root level (index.html)
- Include a HTML input element with if "ticketFile" to select file input
- Include a HTML button with id "btnRead" that reads the input file, and displays the table with the desired column
- Make sure the button has exactly the text "Read File & Display Result"
- Include a div with id "results"
- Within the div, include a table element with id "resultsTable"
- Make sure the table contains the required columns and the correct data according to the pictures and description above
- In particular, there should be a header row with id "results-header"
- The header should have elements "S.No", "Author Username", and "Number of Tickets"
- The table body should have is "results-data"
- The table body should contain the results in the order given by the statement.
- Include a button element with id "btnSave", which will allow the user to download the processed .csv with the exact same content in CSV-format as the displayed results table "resultsTable". (Including header row - but not including the "S.No"-column, which represents the index.)
- Make sure the button has exactly the text "Save Result as CSV File"
Sample Submission
This challenge uses a purely automated testing approach to score the submissions so we are providing a sample submission and an automated tester with a basic test case assembled in a way that simulates the final testing. Docker is used to achieving this. Please read the README.md file to find out how to run the setup.
The sample submission will be in the code folder and it should be extended to implement the requirements. The README.md file contains some guidelines on how to extend the sample submission.
Sample submission with local tester for this challenge: rdm4-medium.zip
Sample Submission to submit on the platform: submission.zip
Final Submission Guidelines
Submission Deliverables
Your submission must be a single ZIP file not larger than 10 MB containing just the code folder with the same structure as the one from the sample submission. The sample tester should not be included in the submission. Also make sure you don't submit any build folders generated locally like node_modules, dist etc. You must follow this submission folder structure so our automated test process can process your scoring:
Create a folder with “code” as the folder name then zip. Inside the “code” folder, there needs to be a file named Dockerfile. This is the docker file used to build the user’s submission. Refer to the provided Docker file in Sample Submission for each level. Zip that “code” folder and submit to the challenge. Execution Details and Submission Logs Each time you submit, the platform will leverage Docker to run your code. The execution logs will be saved as “Artifacts” that can be downloaded from the Submission Review App: https://submission-review.topcoder.com/.
Checking Passing and Failing Test Cases
Using the Submission Review App (https://submission-review.topcoder.com/), navigate to the specific challenge, then to your submission, and then to the Artifacts for your submission. The zip file you download will contain information about your submission including a result.json file with the test results.
Docker Structure: Make sure you can run your submission with Docker from a clean slate. Your Docker needs to expose port: 8080. It needs to build on a completely clean machine when the platform runs your submission. If you are using something locally to build and run your submission, make sure it’s included as part of your Docker configuration as well. Please look at the sample submission to understand the structure better.