Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

We currently have an Asset Library, which is a repository of reusable code components that we leverage for the delivery of cloud-based solutions for our consulting customers. It's a JQuery app that runs on AWS and accesses a database that's on Salesforce. Our users are exclusively in Salesforce, so the UI is iframed into a Visualforce page (and the users can access the data in Salesforce using the native Salesforce UI as well). The application is an "Asset Search", that's basically a custom search against the Asset object in Salesforce (see screenshot in forum).

Competition Task Overview

We want to replace the internal, home-grown search implementation with a much higher-quality, existing cloud-based REST search API. Amazon CloudSearch is the likely candidate because a) we already have code running on AWS, and b) it seems to do exactly what I'm looking for:

  • Has a REST API that Indexes data that you send it
  • Has a REST search API that returns primary keys for records matching the search term
  • Supports sorting by any field
  • Supports filtering by any field
  • Has customizable search tuning, such as relevance ranking, and field weighting.
  • Supports boolean searches

The purpose of this contest is to build a working Proof of Concept of Amazon CloudSearch (ACS) with a test UI and Salesforce data model (attached in forum).

The following requirements should be covered by the PoC:

  • Install the Asset data model in Salesforce.
  • Configure CloudSearch index and search services.
  • Implement trigger on Asset to send record data to ACS
  • Implement a test UI in JQuery or Bootstrap/AngularJS that provides search, filtering and sorting on some of the Asset fields, and shows search results as determined by a call to the ACS search service.
  • Demonstrate the sophistication of searches using terms that require stemming ("opportunity" finds "opportunities"), word proximity, etc.
  • Nice-to-have: highlight the part of the data in the results that matched the search term(s)

���We also need to have these fields indexed (this is the order of importance, if that can be conveyed to Amazon CloudSearch):

  1. Name
  2. Short Description
  3. Detailed Description
  4. Tags
  5. (later when data model is expanded - primary asset contributors)
  6. Technologies
  7. Tips & Tricks
  8. Internal Review Notes
  9. Asset Platform
  10. Applications Integrated
  11. Open Source License
  12. Asset Location
  13. Preview Media URL

���Make sure the search app runs on AWS and the database is in Salesforce

Technology Overview

  • Amazon CloudSearch
  • Salesforce
  • JQuery / Bootstrap / AngularJS

Documentation Provided

Register to see attachments in the forum.



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 PoC that covers all requriements.
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.
  • The build script(s) to build/deploy the application (if applicable).

Final Submission

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

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30038825