Challenge Overview
1.0 Overview
Heritage qJack qHMO Card Game is a game that launches from within the qHMO web application. The idea is that a user of the qHMO app can spend time learning about their profession or organization when they have idle time in their work day and they are on the qHMO app. This is meant to be engaging, fun, simple and easy to get into or exit out of to return to the user's original task in the qHMO web application. The key areas of this application are the "Question and Answer" section, where the user can win cards or lose turns which can be used in the second section (i.e. "the qJack Card Game"). It's a game that incorporates different approaches to keep the users informed and interested.
Note that the front-end will be AngularJS + HTML5, and we want the REST API to be based on ASP.NET WebAPI.
This assembly will implement the updates for the data models, exceptions and backend services, DAOs and jobs.
2.0 Challenge Task Details
2.1 Model Classes
This assembly is responsible for implementing all updated / new model classes on class diagram "Model Class Diagram".
2.2 Exceptions
This assembly is responsible for implementing all exceptions on class diagram "Exceptions Class Diagram". There are no changes from previous version.
2.3 Jobs
This assembly is responsible for implementing all updated / new jobs on class diagram "Schedule Jobs Class Diagram".
2.4 Backend Services and DAOs
This assembly is responsible for implementing all updated / new services / DAOs on class diagram "Services and DAOs Class Diagram".
2.5 Table Phase/Prizes
1.1.1 Table Phase/Prizes
Must add the proper database records for RewardConfigurations and Rewards and provide a sample Quartz Job configuration file in order to prove that the records in the table below are supported.
More details are contained in the Application Design Specification document, in section 1.
Name |
Frequency |
Day of month |
Month |
Year |
Amount |
Type |
% or set # |
Quantity |
Individual Top 30% |
Monthly |
Last Day |
Every |
Every Year |
$10 |
Tango Card |
per |
30 |
Team Play - Top 2 players |
Once - Quarter 2 |
Last Day |
Jun |
Every Year |
$100 |
Visa |
set |
2 |
Team Play - Top 50% |
Once - Quarter 2 |
Last Day |
Jun |
Every Year |
$20 |
Tango Card |
per |
50 |
League Play - Top 2 players |
Once - Quarter 3 |
Last Day |
Sept |
Every Year |
$100 |
Visa |
set |
2 |
League Play - Top 30% |
Once - Quarter 3 |
Last Day |
Sept |
Every Year |
$30 |
Tango Card |
per |
30 |
Championship Play - Top 2 players |
Once - Quarter 4 |
Last Day |
Dec |
Every Year |
$500 |
Visa |
set |
2 |
Championship Play - Top 20% |
Once - Quarter 4 |
Last Day |
Dec |
Every Year |
$40 |
Tango Card |
per |
20 |
Note#1: This is an update assembly. Make sure that you look first at the deployment and code for the existing assembly (provided in downloads)
Note#2: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.
Note#3: Changes in the architecture are marked in RED (new elements) and BLUE (updates)
3.0 Technology Stack
- Windows Server 2008 machine with .NET Framework 4.5 installed
- SQL Server 2012
- IIS 7
- C# 5.0
- .NET Framework 4.5
- ASP.NET Web API 2.2
- Unity 3.5
- Log4net 1.2.13
- AngularJS
- HTML5
- Quartz.net
4.0 Accessing Rewards Platform
Please refer to the provided "Reward_Integration.docx" document for API information.
Final Submission Guidelines
As per the TC Software Assembly guidelines.