Key Information

Register
Submit
The challenge is finished.

Challenge Overview

We have built a Xamarin prototype app of salon management in previous challenges, which supports three platforms - iOS, Android and Windows (Universal Windows Platform). This app will be used by various salon product employees to check on the placement of their products within various salons and businesses.  They will do these checks via a questionnaire/checklist.

Currently, the app just uses mock data in JSON file for demonstration. Now we need to integrate it with the real backend - Salesforce (SFDC).

Here are the links of previous challenges for your reference.
- iOS & Android https://www.topcoder.com/challenges/30070936/?type=develop
- Windows
https://www.topcoder.com/challenges/30071528/?type=develop

  • Target environment: iPhone, Salesforce

  • Basic Requirements: Integrate the app with Salesforce

In this challenge, we need to integrate the app with Salesforce. We provided the data model with Salesforce objects, as well as some data for testing. You are required to import these objects into your own Salesforce org, and then insert data into your data model.

Please use the code base https://github.com/topcoderinc/salon-management-app, we need to work on the *master* branch.

If you don't have access to the GitHub repo, please use the link provided on the forum to grant yourself an access.

Technology Stack

Xamarin - The app must be developed by Xamarin, use Xamarin.Forms to make it cross-platformed.
C# - The programming language of Xamarin.
Salesforce - A cloud platform.

Individual requirements

1. Register a Salesforce account and import the provided Salesforce data model (attached in the forum) into your own org.
2. Insert the given data (attached in the forum) into the imported data models.
3. Replace all mock JSON data with the data in Salesforce, remove all mock JSON data.
4. Follow this diagram to implement the Salesforce workflow.
5. Implement the login UI for login with Salesforce. See 02_Login in the given design (The sketch project is attached in the forum). We should be able to login with the Salesforce account.
6. Remove the role selection screen. We can retrieve the role from Salesforce. There should be a role field on the User object in SFDC that will give us the role. Check the following fields for reference:

  • Account.Territory_Name__c:

  • Account.Region__c:

  • User.Territory_Kerastase__c

  • User.Kerastase_Region__c

Accounts are owned by users (BD, RDM, SalesOps). All have the same profile

You should provide a way to test different roles.

Important Notes

In this challenge, we only target on the iOS (iPhone) portion, Android and Windows are out of scope.

You should the Salesforce related data configurable. Reviewers are required to use their own org to test. So switching to a different Salesforce org should be as simple as possible.

You can use the workbench to import the data model, here is a tutorial if you don’t know how to do it.

We don’t have data for questionnaires. Questionnaires are almost like a header. A Question belongs to the Question Master. When the user selects "Start questionnaire" from the mobile device, it creates a questionnaire record and pulls all active published master questions and creates a copy for that salon's questionnaire.

For terms of use, you can create mock data and insert into the record.

You can use the REST API to manipulate objects. Xamarin also provides an official Salesforce SDK, but it looks dead because it was not updated for two years. You can also investigate it and see if it still works.

There are many details in this challenge, feel free to ask any questions in the forum early if you feel anything is unclear.

Please provide some test data (including different questionnaires) along with a script to insert these data into the Salesforce Org. It will make the reviewer life easier.

 
 


Final Submission Guidelines

  • A git patch against the latest commit hash of the master branch. Be sure to test your patch after submitting.

  • The README.md that includes the steps of how to apply your patch (you should mention the specific commit hash that your patch is against), how to deploy and run your Xamarin project.

  • Please clearly document how to import data model and insert data in the Salesforce org so that reviewers can follow your steps to set up the review environment.

  • A video to demonstrate and verify your app.

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30072599