Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Introduction

Welcome to the Salesforce SOQL Query Generator Application development challenge.

At this point we have completed the Wireframe challenge and are ready with the UI mockups. For reference you can find the last challenge here: https://www.topcoder.com/challenge-details/30049876/?type=design&noncache=true

We have already completed Part 1 of this engine and winning submission is attached in the forums. You can refer the challenge here 

https://www.topcoder.com/challenge-details/30052503/?type=develop&noncache=true

Part 2 of the Challenge : 

SOQL Description:

SOQL Queries are used to query data from Salesforce.

SELECT fieldList FROM object [WHERE conditionExpression]  [ORDER BY fieldName ASC | DESC ? NULLS FIRST | LAST ? ] LIMIT number_of_rows

The query can be broken into following logical units:

  1. Select Clause

  2. From Clause

  3. Where Clause

  4. Order by Clause

  5. Limit Clause

We want to build out the wireframes of the UI that enables a user to create a query by simply selecting the appropriate Table, Fields and Comparison operators.

Challenge Description:

This challenge is part 2 of SOQL Query Generator challenge. We are targeting to achieve following functionalities to the Tool.

  1. Install and configure existing Salesforce Googlesheet connector. Deployment guide will be provided in the forums.

  2. Feedback from #1 challenge���

    1. When the user runs the query from SOQL generator, it shows the json string, convert this string to a table.

    2. Provide a search field in the “Available Tables” section to filter object
  3. User can add Where clause conditions for the parent object fields

    1. Allow user to select comparison operators i.e. = ,!=, Like, < and >.

    2. Allow to add logical operators to filter criterias i.e. A AND B OR C

    3. Allow to group filters in brackets i.e. (A AND B) OR C
  4. User should be able to add Order By and Limit clause

    1. User should be able to define multiple Order by fields
  5. User should be able to add Limit clause

    1. Maximum allowed Limit value should be 50k
  6. Inbuilt validation support for subqueries

    • Only allow to drag child objects, if they have a valid lookup for parent object

    • Otherwise display an error if they are not allowed.

  7. Display proper Error messages on the UI.
  8. Fix any bug you found with SOQL engine and mention in the deployment guide. These will be considered as extra features.
  9. Bug fixing:
    • ������User selects an object and then drags the child object to selected panel. If now I delete the child object using the delete icon and add the same child object again, it displays two child objects in the panel.
    • Currently unit tests are failing for some existing scenarios, update them.

Challenge attachments

  1. Salesforce Google sheet connector

    • Code Base from 1st challenge

    • Deployment guide

  2. UI Wireframes

Sample Queries

Please use below queries to verify your solution

  1. SELECT Id, Name, BillingCity FROM Account

  2. SELECT Id FROM Contact

  3. SELECT Name, (SELECT LastName FROM Contacts) FROM Account

  4. SELECT Name, (SELECT lastname FROM Contacts),  (SELECT CreatedBy FROM Notes) FROM Account industry = 'media' ORDER BY BillingPostalCode ASC NULLS last LIMIT 125

  5. SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, UnitPrice, PricebookEntry FROM OpportunityLineItems) FROM Opportunity WHERE Name like 'Acme%’

References

Strictly follow Salesforce Lightning Design System to develop the UI and components.

https://www.lightningdesignsystem.com/design/overview/



Final Submission Guidelines

Submission Guidelines

  1. Solution should follow all above mentioned guidelines about the challenge requirements.

  2. Regularly monitor forums about decisions and new requirements.

  3. Submit a deployment guide to mention all steps and design decisions.

    • Mention about changes made to GSC code.

  4. Submit updated code base

  5. Provide following demos

    • Code walk through

    • Functionality demo

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30052504