Portfolio

ImagineCup 2007

The Imagine Cup encourages young people to apply their imagination, their passion and their creativity to technology innovations that can make a difference in the world – today. Conducted since 2002, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real world issues. Microsoft delegated FastTrackTeam to develop and host ImagineCup, FastTrackTeam delegated MondoRobot and InspirationGate to implement ImagineCup 2007 which acted as the base platform used to this day.

Case Study

Project Overview

The Imagine Cup encourages young people to apply their imagination, their passion and their creativity to technology innovations that can make a difference in the world – today. Conducted since 2002, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real world issues.

Open to students around the world, the Imagine Cup is a serious challenge that draws serious talent, and the competition is intense. The contest spans a year, beginning with local, regional and online contests whose winners go on to attend the Worldwide Finals held in a different location every year.  The intensity of the work brings students together, and motivates the competitors to give it their all. The bonds formed here often last well beyond the competition itself.

Microsoft delegated FastTrackTeam to develop and host ImagineCup, FastTrackTeam delegated MondoRobot and InspirationGate to implement ImagineCup 2007 which acted as the base platform used to this day. MondoRobot has been responsible for building the UI and branding while InspirationGate was responsible for building the entire solution infrastructure that is fully integrated with Community Server and allows different types of users to register online, communicate through forums and blogs and compete. The implemented solution also contains dynamic CMS features provided by Community Server which allows the administrator to manage and moderate the entire site content.

Challenges

  1. InspirationGate’s development team had to code, review, and study the entire Community Server code base in order to implement major changes in existing core features.
  2. The application’s performance, reliability and availability are very important because the application is targeting the masses. To achieve this goal InspirationGate decided to integrate Imagine Cup specific modules and Community Server platform by embedding the execution of these modules inside Community Server Application domain. This technique increased the performance, security and extensibility of the application.
  3. InspirationGate was responsible to complete the core development of the application as well as the integration with the UI. This working model introduced project management and communication challenges. InspirationGate dealt with this situation by adopting an agile project management technique and giving the appropriate exposure to its internal team to increase the efficiency of the communication and shorten the time needed to complete the required features.

 

Provided Solution

InspirationGate provided a multi-layer solution designed and developed to live inside Community Server. The reason for embedding the application inside Community Server was the large-scale dependency between Community Server and the application.

Starting from the data storage side, the application has a relational database optimized for data management and manipulation with some sections optimized for reporting. On top of the database there are a number of vertical layers going through the whole application, these layers are the “Data Objects” and “Community Server Security and Exception Handling Infrastructure”. The Data Objects layer has entire data structures created specifically to achieve the high performance requirements of the application. The Community Server Security and Exception handling Infrastructure provides all the components required to integrate with Community Server security and its exception handling and logging components.

Between the vertical layers, there are a number of horizontal layers. The first layer from the database side is the data access layer. This layer has all the components needed to access the data in the database. The second layer is the application middle layer and it has a number of components implementing the application business logic. The last layer is the presentation layer and it is used to provide all the UI components needed to interact with the user

Technologies

Visual Studio 2005, .NET Framework 2.0, ASP.Net, C#, SQL Server 2005, Telligent Community Server Version 2.0, ComponentArt.

Customer feedback

"InspirationGate helped us develop the first version of the Imagine Cup 2007 web site. I found them to be very smart, knowledgeable, hard-working, and professional. The work that they performed served as an excellent foundation to later versions of the site, and is still in use as part of this high-traffic site today."

- Brian Conte, President
Fast Track