Customer Web Portal Mobile Site Assembly

Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

Client seeks to leverage a customer care portal that will attract, engage, convert and retain customers to increase top line revenue growth. Through the use of customization and personalization, Client will engage its customers by allowing them to quickly locate the information they need. Client is certain that improving access to information, demonstrating thought leadership in its online offering of analytical data and improving customer care will increase the likelihood that a customer will return to the site and continue to do business.

The desktop version already exists, and this module provides a smaller version for use with mobile devices. It will work for tables and phones (iOS and Android), but can be expanded for other mobile devices if necessary.

Competition Task Overview

The architecture consists of ASP MVC 3 controllers that will handle the action flow of user gestures in the web pages, and they utilize the existing set of services developed for the desktop version.

In general, a given controller will not only support the CRUD functionality in the HTML, but also be essentially a wrapper for the WCF service that actually manages the given entity. The services are accessed via WCF clients, utilizing generated service client and entity code.

In general, this module follows the convention over configuration model to structure the controllers, models, and views.

All views will be rendered with the Razor view engine, with extensive use of its HTML helpers.

All controllers will extend the existing BaseController class.

Refer the the assembly spec in contest forum for details.

Code

You should reuse the existing backend services in desktop version, however please do NOT modify the services unless really necessary because that might break the desktop version application. If you really need to make such changes, you must clearly document the changes in a changlog file.

You should add a separate frontend project (example: Customer.Portal.Frontend.Mobile) to the existing solution, you must NOT add the new code to any existing projects.

Testing

Unit tests should be provided for the new controllers. If you make any changes to existing code, you must make sure no existing tests are broken.

You need to provide manual demos to verify your implementation.

UI Changes

We may have some minor UI changes to be integrated in final fixes, mostly updating some texts, should be easy.

VM

The winner may be asked to deploy the code on a VM.

Technology Overview

  • C# 4.0
  • WCF 4.0
  • ASP.NET MVC 3
  • Razor
  • SQL Server
  • IIS
  • Microsoft Unity 2.0: http://msdn.microsoft.com/en-us/library/ff663144.aspx
  • jQuery 1.9.1: http://jquery.com/
  • jQuery Mobile 1.3.2: http://jquerymobile.com/
  • Log4net 1.2.11: http://logging.apache.org/log4net/
  • reCaptcha: http://www.google.com/recaptcha

Documentation Provided

Documentation and Applications that will be provided to registered members.



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 mobile site as described in the architecture.
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.
  • NUnit Tests to verify your application successfully meets the requirements of the application.

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30039096