Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

SRT is an HTML5 web app used to manage service requests from the customers, it support both online and offline modes.

Competition Task Overview

In this challenge, we are going to enhance the tool with two new features: announcements and reporting.

Announcements

Currently, when SRT administration provides an update to the system, there is no communication to end users on this update. Updates may have small or large impacts on the system and may affect the users, there needs to be a way to better communicate to end users through the system.

Please note the View Announcements menu should always be visible even though it's not in the prototype. And Manage Announcements menu should always and only be visible to admins.


Please check the prototype and the detailed requirements in the forum.

Note this feature won't work in offline mode, so the app should disable the features while in offline mode.

Reporting

With the growing number of service requests, there is more need to report on different sales trends (by sales division, service request type, sales area, etc.) and with the current system, there is no way to filter the information by specific fields and users cannot extract information from SRT to an excel sheet. Business-Ops need to be able to extract information about deals so they can provide accurate reporting with the pricing team.

Please check the prototype and the detailed requirements in the forum.

Note this feature won't work in offline mode, so the app should disable the features while in offline mode.

For exporting to PDF, we should reformat the tables to fit the page width for the PDF. We should use the same approach that we use to export a full service request right now.

General Coding Requirements

Every new code piece added to the SRT system should be documented. Documentation must include:
- Date coded
- Name of developer
- Name of requirement code belongs to
- Description of what the code does
- Start and end of line of code

The following general requirements must also be followed:

- Please use the exact same technologies currently used in the app
- Make sure the changes don't break any existing features (both online and offline modes)
- Make sure the app works with both Oracle and Postgres databases
- Must be tested under both Windows and MacOS
- If changes are needed to the database, we need an additional script that can be used to alter the client's existing database since we cannot just drop the tables and re-create them. We need the script for both oracle and postgres databases. The script should be named like this: 20150908_unified_tab_updates.sql
- This must work on latest version of Chrome / Firefox / Safari on Mac / Windows / Linux.

Code Base

Please use the code we provided in the forum as base. The winner will be asked to send a pull request to our github repo when challenge is approved.
Winner may also be asked to help deploy the code on a VM.

Technology Overview

Java
Postgres
Oracle
Tomcat
HTML5
AngularJS



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:
Code that covers the requirements
- A (NEW) complete and detailed deployment documented explaining how to deploy the application including configuration information. If deployment guide needs no change then a separate verification guide.
- You can remove the other irrelevant deployment guides from your submission.
- The maven build script to create the war files. Very likely you can reuse the existing one and don't need to modify anything.

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: 30055572