Register
Submit a solution
The challenge is finished.

Challenge Overview

 

Challenge Objectives

 

  • Integrate frontend app with backend API 

 

Project Background

  • Telecom providers sell products such as broadband and mobile phone contracts. These contracts consist of products of different types and capabilities and that are then sold in different markets. In this project we’re building a forecasting tool to predict variables like volume base, gross adds, churn, net migrations, average revenue per customer, etc

  • We’re integrating the frontend with backend API in this challenge

  • In the follow-up challenges we will update ui and integration and build test suites

 

Technology Stack

 

  • Angular

  • Swagger

 

Code access

 

The base code is available in the forums. API specification document (swagger) and api implementation is available in the repository. 

 

Individual requirements

 

Sample data values are available in the backend code base - you can use them to import the data to database. 

 

Required UI changes:

  1. Update reforecasting tab - synchronize sliders
    Currently, every graph has one set of sliders to configure KPI drivers, but the backend is expecting only one set of drivers. Synchronize sliders from all charts so that changing a slider in one group updates the value in the other one, and send only one set of values to the backend service.

  2. Remove user avatar image
    Replace the image with user name initials

  3. Create “New Forecast” screen
    The screen will open a dialog to enter the new forecast name - all other values for the forecast (markets, products, brands, kpi drivers) will be copied from the last forecast (list the forecasts and get the last one by creation date).

  4. Add “Forgot Password” form
    This form will ask the user to enter his email and call the /forgotPassword API endpoint (that endpoint will send a password reset code to the user). On success, show the form to enter password reset code and set the new password. Submit the form to /resetPassword endpoint

 

Required screens and endpoints that are in scope of this challenge: 

  1. Security (/me, /resetPassword, /forgotPassword, /login)

  2. Forecasting endpoints (Forecast and Forecasts screens)
    These endpoints allow the user to create a new forecast (screen created in this challenge), update an existing one (ex lock it on the Forecast screen), get forecast values, list existing forecasts (Forecasts screen) etc

  3. User settings
    These endpoints save user settings - favourite charts, chart settings

  4. Lookup endpoints
    These endpoints provide raw lookup values for various dropdowns in the app

 

General requirements

 

  • Unit tests are out of scope.

  • Show loading spinner for api actions, and use toast to show success/error messages

What To Submit

 

  • All source code

  • Deployment guide

  • Short demo video



 

Final Submission Guidelines

See above

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30095274