Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Summary

Welcome, everyone! The goal of this challenge is to complete the Rest API from a given UI design and provided database model.
 

Project Overview

This web-based application will allow an effective process for employees to view, manage, and maintain Locations data.
 

The Hestia team is currently using a cumbersome spreadsheet and interface to view information about their numerous locations. A large amount of complex data is not easily organized into views that are helpful or efficient for users to extract the information they need. Hestia is looking for a more robust and user-friendly method to see and manage this wealth of data.


Below are general concepts:

the campus is the parent unit of a location. There may be multiple Locations within that Campus, and multiple Child Locations within that Location. The data can be drilled into 3 distinct hierarchies, with attributes to organize the data in a cascading way. These 3 hierarchies and grouping attributes are:

  • Base Structure – Campus -> Region -> Child Location

  • Physical Hierarchy: Region -> State -> City - > Child Location Type -> Child Location

  • Management Hierarchy: LOB -> Region -> District -> Area -> LOB CC -> Inventory Org 
     

Technology Stack

  • .NET Core 3.x,
  • Azure Cosmos DB,

 

Assets

The following items are shared on the forum:

  • Swagger file
  • Database model
  • Architecture documentation
  • UI mapping
  • UI design
  • Current base code

 

Individual Requirements

  • Create a REST API using .NET Core 3.x and following the provided documentation
    • REST API should have Models, Controllers and Services
    • Code must be written in C#
  • The database used must be Cosmos DB
  • Authentication is IN scope. REMOVED
  • The following tags from swagger file are in scope:
    • Campus - no attritube change endpoint is in scope
    • Child Locations REMOVED
  • For Hierarchy, check the most efficient way of doing it (use procedure or not)
  • Fix any issues in the code that prevents the application from running
  • Unit test is scope with >90% coverage
    • Tests should be independent of database any third party calls
  • Adhere to S.O.L.I.D Principles (https://en.wikipedia.org/wiki/SOLID)
  • Create dockerfile for future deployment - docker must work properly

 



Final Submission Guidelines

  • Updated source code

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30154439