Challenge Overview

Challenge Summary

Welcome, everyone! The goal of this challenge is to create 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

 

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 not in scope.
  • The following tags from swagger file are in scope:
    • User
    • Dashboard
    • Hierarchy
  • For Hierarchy, check the most efficient way of doing it (use procedure or not)
  • 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


Final Submission Guidelines

Zip file with:
  • REST API source code
  • Deployment guide, including Cosmos DB setup
  • Validation guide and Postman file with test sample

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30149604