Challenge Overview

Competition Overview

Welcome to Project Coeus! In this project you will be creating a web application for an enterprise to help manage risks. This application will leverage the following technologies: C# REST Services, SQL Server and Angular.js.

Right now in the application, users' roles are determined based on the AD group the users belong to. In this challenge we need to make some changes to this:
1. Currently we have multiple AD groups in the application, we are reducing the number of AD groups to just one and we'll make that AD group configurable in the application.
2. User roles no longer come from the AD group, instead role management will all be done within the app, that means the app data store will now need to maintain a mapping from userID to roles within the app. Please note that the app must also allow the admins to assign a Username in the case it is different than what AD provides, and mark a user as active or inactive. In other words, it must fully replace all features the app is using from AD  right now.
3. The supported user roles will be coded into the application, the values should come from a database lookup table.
4. Submission must include sample SQL script for loading initial user mapping data into the app.
5. Do not attempt to write anything to AD. New User Creation workflow goes: User added by AD admin to group, then becomes visible in application for user to select a role.  A user cannot login until role is assigned to them.
6. Authentication is still handled via AD, but authorization will now be done based on the new username / role mapping we are implementing here.
7. This application should not allow creation of new users, it's expected that an admin will create users directly in AD, and then use this application to grant the user access to this application.
8. The new page will added to the position as shown below with a title of "User Access", this page is only visible to admins. Please make this page's look & feel consistent with the other pages, make it simple to support the CRUD operations.

9. You must clean all old code that's no longer (include obselete unit tests) used and properly document any new code / modified code.
10. You must update all relevant documentation (including deployment guide) to reflect the changes we are making in this challenge.

Testing

Unit tests from previous challenge must not be broken.
Unit tests must be provided for the new code.

Timeline

This challenge has shortened timeline for multiple phases, please make sure you don't miss the deadlines.

Technology Overview

Visual Studio 2015
SQL Server 2012
Windows Server / Azure
Active Directory

C# / .NET
REST
Angular.js
HTML5
Javascript
RESTful services


Final Submission Guidelines

Submission Deliverables

1. Full code that covers all requirements, including updated unit tests.
2. A complete and detailed deployment document explaining how to deploy the application including configuration information. Please make sure we have a consolidated deployment guide that covers deployment of both the backend and frontend, and we need it to cover deployment details to an IIS server, not just running from with Visual Studio.

Please note we are using the new scorecard for this challenge, so the deployment guide needs to be in Markdown format. Screenshots should be in an images sub-folder and referenced in the markdown deployment guide. See this blog post for more details: https://www.topcoder.com/blog/whos-keeping-score/

Final Submission

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055510