Challenge Overview

Project Overview

This is a very simple tracking of motion sensors and meeting room information from Exchange 2010.

It will be developed using C# / .NET 4.0 and it will use a simple database at the backend using MS SQL Server 2010.

Competition Task Overview

Basically we want to track data from motion sensors in conference rooms and store that into a database every set interval (interval will be measured in minutes and should be configurable in a config file).

We also want to read back from an exchange server as to whether the conference rooms are booked at that time for each set interval (same interval as motion sensors being read).

That gives us 4 possible statuses for each set interval for us to process:

  • Room is booked in Exchange but no activity on motion sensors
  • Room is booked in Exchange and there is activity
  • Room isn't booked and no activity
  • Room isn't booked and there is activity

Detailed Requirements

  • Pull information from Microsoft Exchange 2010
  • Book a meeting room in Microsoft Exchange 2010
  • Pull utilization data from motion sensors present in the room. For this PoC we'll use this device, you can find programming interfaces and example at the bottom of this page and we'll be using the C# version. Also you might need to provide a mock to send responses to our PoC.
  • Interval to pull info should be configurable (in minutes)
  • Define a simple data store to track historical meeting room information
  • Implement a simple responsive UI per PMI’s guidelines to visualize the data
  • Reporting functionality by room, location and time showing percentages for the 4 types of room activity during booking hours
  • Code should support Windows Integrated authentication, and preferably Kerberos support for impersonation
  • Please make your code / design flexible and scalable for future enhancements
  • We just need a very simple web interface for the app, see attached mockup.
  • You are free to use plain ASP.NET or ASP.NET MVC / Razor View or HTML5 / Angular.js on the frontend
  • You are free to use WCF but maybe it'll be overkill for this simple PoC.

Connecting to Exchange Server

EWS MANAGED API, EWS, AND WEB SERVICES IN EXCHANGE

You can use Exchange Web Services (EWS) and other web services in Exchange Online, Exchange Online as part of Office 365, or Exchange on-premises to create solutions that enable your users to access Exchange mailbox data from services, websites, desktop computers, and mobile devices. This article introduces the web services that are available in Exchange
Applies to: EWS Managed API | Exchange Online | Exchange Server 2013 | Office 365
https://msdn.microsoft.com/en-us/library/office/dd877012(v=exchg.150).aspx

We'll provide test exchange server details in the forum.

Technology Overview

  • C#
  • .NET 4.0
  • IIS
  • Exchange Server 2010
  • Motion Sensors
  • MS SQL Server 2010


Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 

Below is an overview of the deliverables:

  • Fully implemented webapp that covers all requirements
  • A complete and detailed deployment document explaining how to deploy the application including configuration information.

Final Submission

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

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30050925