Key Information

Register
Submit
The challenge is finished.

Challenge Overview

The OData project is going to develop a powerful API layer (with a robust data model) which will be used to provision select business data.
The main purpose is twofold:

  • Create an OData (version 4+) compliant REST APIs to allow access to the specified data.
  • The code for the services must be generated (and potentially re-generated) via template-driven code generators.

Currently the client is using SOAP based APIs that are antiquated and cumbersome; what the client needs is flexible data APIs that can handle the needs required for modern applications and consumers.  The client wants to use Representational State Transfer (REST) as this is the architectural style suited for these modern applications and purposes.

This assembly/code will implement the base classes, exceptions, templates and one concrete ASP.NET Web API controller – ProfitCenterController and the corresponding entity(ies)

It will provide the POC VS project to the client, so the POC can be tested by the client team.

The specifics of the implementation have been provided with the System Architecture (within the TCUML as well as the SDS documents) which has been atached with this competition.

Make sure you read the full POC requirements provided with the System Architecture which is the OData_REST_API_Layer_POC_Assembly_Specification.docx document.

Code Demonstration

Please ensure that you provide a well documented means of demonstrating the solution and please make a recording of the solution (i.e. utilization through comment line) in a video format.

Supporting Materials

Attached in the competition forums you will find the following artifacts:

  1. System Architecture with TCUML, SDS, and the POC Specification
  2. Client DDL for the tables and data you will be working with.


Final Submission Guidelines

  1. Source Code - Please submit a VS project..  Please include all necessary libraries and dependencies to build and run your project. 
  2. Deployment Guide - Please submit written documentation for your submission
  3. Please submit a video with a screenshare of your application in action
  4. Please check the forums for possible updates.

Technology overview

Platform Requirements:

  1. .Net 4.6 and Web API frameworks should be used to build the APIs
  2. Data Access Layer should be built with Entity Framework 6.
  3. Entities will be POCOs
  4. C#
  5. OData ver. 4+
  6. T4 template (Entity Framework
  7. REST
  8. JSON
  9. Code must have proper level of logging in place.

Additionally the following will be utilized:

  1. Moq
  2. Swagger
  3. Swashbuckle
  4. Visual Studio 2015 would be the choice of IDE.
  5. NuGet should be used to manage the dependencies for the API project

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30053179