Challenge Overview

Project Overview:

Welcome to the Meli AngularJS REST API Service Architecture Challenge! We are on our way to building a hybrid mobile app for the iPad, using AngularJS and a Salesforce backend. We have a basic hybrid iOS app container using the Salesforce Mobile SDK (nearly out-of-the-box setup). Now we would like to update it to use AngularJS and build out a framework for calling future REST APIs.

Competition Task Overview:

The main task of this competition is to prepare REST API Service Architecture design for using latest AngularJS frameworks.

We would like you to complete following tasks:

  • Update our mobile app to use AngularJS as its JavaScript framework (instead of jQuery Mobile). Remove all use of jQuery and Backbone, but make sure the refresh calls to forcetk on the index.html still work.
  • Build out a centralized framework to handle all REST API calls to our Salesforce backend. ("Gateway" or "Service" or "REST Handler").
  • Be sure to include any necessary unit tests or error handling. REST Handler should have error handling built in and display an error alert if received.
  • Make sure they are using the latest version of AngularJS. The repo already has the latest version of SalesforceMobileSDK/Cordova.
  • Please setup the app with ngRoute (for navigating the pages) and create a test partial page.
  • We will have future Assembly/Code challenges that will delegate their API calls through your centralized framework, instead of calling the APIs directly. This will ensure that we have a central location to handle outgoing API calls and incoming responses. Below are the list of APIs
    • Observation API
    • Data Center and Asset APIs
    • Gauge and Ping APIs
    • Weather API
    • Chatter APIs
  • We would prefer to have a well-designed "gateway" to pass API calls through. Please provide documentation that would be helpful for future developers to understand how to use the API "gateway".

Technology Overview:

  • REST API
  • JSON
  • AngularJS
  • Salesforce

Documentation Provided:

Please register to see attached documents.



Final Submission Guidelines

Registration Details:

  • Sign up for a free Bitbucket account.
  • Request 'Read' access to our datacenter repo via the forums, and include your Bitbucket username.
  • Fork the repo and either checkout the 'angular-framework' branch or create a new branch.

Submission Deliverables:

  • Upon completion of your code, submit the complete zipped source of your branch.
  • After the end of the Submission Phase, please also issue a 'Pull Request' to the forked repo.  This will allow us to easily see diffs for review.
  • Once the winner is decided, and all final fixes have been done, you may either update your Pull Request or issue a new Pull Request.  We will then merge in your final changes!

Final Submission:

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

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30041459