Register
Submit a solution
The challenge is finished.

Challenge Overview

Project 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:

  1. Create an OData (version 4+) compliant REST APIs to allow access to the specified data.
  2. 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 will convert the POC developed in the first iteration into fully functional application with all the code, templates, documentation, tests.

Competition Task Overview

Your task will be to take the existing POC code and apply the solution to the remaining entities as stipulated in the SDS, the Assembly Specification, and the TCUML.

Please make sure to read the "OData_REST_API_Layer_Final_Assembly_Specification.docx" provided with the documentation as ell asthe SDS and the TCUML.

Client Source code considerations:

Note that the client source code has also been added/attached to the requirements document for you to consider.

Please looks specifically at the Global.asax.cs code and see the comments provided within for what the client is thinking in terms of the approach. Make sure to ask any questions you might have early.

POC:

The POC source code has been attached with this competition. Please look at the code which you will use as s starting point for this assembly.

The main purpose is to take the code and convert it so that it will create the REST services through a configurable template. Make sure to read the architecture which outlines the process of what this is going to achieve. 

Assembly:

This assembly will convert the POC developed in the first iteration into fully functional application with all the code, templates, documentation, tests.

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


Final Submission Guidelines

  1. Source code and configuration files.
  2. Deployment guide to configure and verify the application.
  3. DLL scripts as needed for any data setup.
  4. Your code will have to be tested.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30053054