Register
Submit a solution
Status: ‌Cancelled client request

Challenge Overview

Competition Introduction

Welcome to our Topcoder Skill Builder React Competition - with Automated Tester!

We are excited to kick-off our plans to help everyone skill up, have fun, and earn more money through Topcoder Gigs and Competitions. Jump-in, build your skills and as always let us know what you think and where Topcoder can continue to improve and bring competitions that are meaningful to you.

IMPORTANT: This React Skill Builder Competition using Automated Tester to review your submission. Pay attention to detailed instructions for each level and read how to submit the section below.

Topcoder Skill Builder Competitions

  • Skill Builder Competition will have three (3) problems (Easy, Medium, and Hard) to solve. Each problem has steps to have you get started and learn React Step by Step.
  • As you know, we have a lot of Gig Work Opportunities offers available for you right now. We would use these competitions to match you to our Gig Work Opportunities and also provide you with a Verified Skill Badge on your Topcoder profile so you can add them to your resumes. So don’t hesitate to jump in, work on the competitions, and earn a job for yourself.

Project Background

This project involves an automated tester. The idea is to have members submit solutions and for the review to be carried out by another application that has been pre-configured to test solutions.

Problem Statement

Miners need your help!

The miners' company found a cave with a really good stop in a remote place, so it will be possible to mine different types of ore. But each ore has a different place and is difficult to extract.

Now, they need your help to create a better logist and profit way to mine all ore in this sport.

Your task for this Skill Builder Competition is to help the miners to create an extract plan to mine all ore in an efficient and more profitable way.

Technology Stack

  • React

Instructions:

  • We have prepared three problems: Easy, Medium, and Hard. Points are based on the automated review scoring for each level.
  • The competitions may or may not be related to each other.
  • The links to the problems/competitions are provided below.
  • Each problem has one single requirement to achieve. We will judge your submission based on the requirement being fulfilled in each problem, so as long as the requirements are met with minimal code quality, you would be rewarded with points for that particular problem.
  • Your solution needs to follow a specific structure (folder structure). See What to Submit below

Problems

Note: You don’t need to submit anything on this competition, but submit on a particular level below:

Leaderboard: https://docs.google.com/spreadsheets/d/e/2PACX-1vRHoubIraa9FWIB3fOAv26dUwxBH_c46wqF9kT5H1WiGIjnZe_soXwt2lagu0scoNy14fzB_gZuI4Z0/pubhtml?gid=208403618&single=true

Submission Guidelines

Judging Criteria

  • Your submission will be reviewed immediately by Automated Tester and you will receive a score on the leaderboard based on the number of requirements you fulfil or test cases you pass. If you fulfil 6/7 requirements you will get 6/7*100 = 85.71.
  • In case you don't see a score, make sure you understand the submission guidelines. Also, look for Artifacts and Logs in Submission-Review to know more about your submission. You can also discuss in the challenge forum for any issues.
  • About your submission review:
    • Collaborating/Cheating in any way with anyone else (member or not) during a rated event is considered cheating.
    • An excessive amount of unused content should be avoided.
    • Code Readability is expected with necessary comments, indentation and somewhat refactored code (as much as possible)

Submission Guidelines:

Please Note - You don’t need to submit anything on this competition, but submit on a particular level/problem
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.

Submission folder structure example:
RDM-Submission-Structure

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/.

RDM-Execution-logs

RDM-Execution-Logs-2

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.

Example Dockerfile for Node app for React submission:

FROM node:alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY --from=build /app/build/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8080
ENTRYPOINT ["nginx", "-g", "daemon off;"]

Especially for Angular submission we need include nginx.conf to expose the port 8080:

server {
  listen 8080;

  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri$args $uri$args/ $uri $uri/ /index.html =404;
  }
}

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30176440