Submit a solution
Status: ‌Cancelled client request

Challenge Overview


Competition Introduction

Welcome to our Topcoder Skill Builder Angular 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 Angular Skill Builder Competition using Automated Tester to review your submission. Pay attention to detailed instructions for each level and read how to submit 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 Angular 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

Bob the Treasure Hunter needs your help!

He recently found a map in an old bottle under the tree behind his home backyard. When he went upstairs to the hidden room map pointed, he found his grandfather's chest. He burst into joy when he saw more bottles with paper inside them

Now, he needs your help to prepare a map to pinpoint all potential treasures and their location. It’s time to add more potential treasures to the map.  

Your task for this Skill Builder Competition is to help the treasure hunter begin the adventures to find all the most precious treasures hidden across the worlds by putting all the treasure locations on the map.

Technology Stack

  • Angular


  • We have prepared three problems: Easy, Medium, and Hard. Points are based on the automated review scoring for each levles. .
  • 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


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

Final 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

Here are some sample submissions to help you get started:
- Partially scoring Sample Submission for Level Easy

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:


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:



Checking Passing and Failing Test Cases

Using the Submission Review App (, 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 Angular submission:

FROM node:alpine AS build
WORKDIR /usr/src/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 /usr/src/app/dist/topcoder-learning-angular/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
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;


2021 Topcoder(R) Open

Review style

Final Review

Community Review Board


User Sign-Off

ID: 30157738