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):
- Name
- Short Description
- Detailed Description
- Tags
- (later when data model is expanded - primary asset contributors)
- Technologies
- Tips & Tricks
- Internal Review Notes
- Asset Platform
- Applications Integrated
- Open Source License
- Asset Location
- 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.