Challenge Overview
Project Overview
Tenken application is an application that uses AR middleware to show AR contents overlayed on top of camera view according to selected scenario and scene (that holds data of AR overlay items).
Currently Tenken is made up from low level API sets defined in ar.js. Application source code (JS) has more than 10k lines. We believe that application should be built more easily, and providing higher level API sets is the way.
For this challenge, we want you to come up with API sets to start making high level APIs. We’ll start simple for the scope for this first challenge. Please define the API namespace and methods for the basic context to show AR contents obtained from the AR server, then refator Tenken to use the new API sets.
The context is made up from scenarios, scenes, AR marker data and AR overlay data that is registered within AR server.
Scenario holds multiple scenes, Scenes has multiple AR markers registered, and corresponding AR overlay contents. (As shown in the Architecture Overview). These data is downloaded from AR server to the client when user run the Tenken application.
Architecture Overview
Competition Task Overview
In this challenge, we are trying to do the following:
1. Objects in pink is the scope of this challenge to refactor Tenken application
2. Come up with high level API namespace (presumably Scenario and Scene, etc.) and methods that will be reusable when creating other new applications in future.
3. The new API should follow the same pattern as ar.js (API methods should be made up with callbacks)
4. All new API methods/classes should reside in a new js file.
5. All methods and classes needs to be documented correctly with JSDoc annotation. Follow same format as ar.js that includes parameters, details, and sample usage.
6. Refactor Tenken application to run with those APIs. Tenken app should be tested that it runs correctly with the refactored code.
7. Please provide sample html to call new methods
8. The methods defined in above architecture overview is not final. We encourage you to provide us with any feedbacks on the model and methods to make this easier to use for future application development.
9. Please provide next set of high level API (and object model) that you think will make creating application easy. The overall goal is to provide high level API sets so that application like Tenken can be created quickly and simply. This is optional and we'll pay $150 bonus for this, note you only get this bonus if you are one of the top 2 winners.
Places to be careful
Since server can hold large number of Scenario (upto 1000), scenes, and corresponding AR overlay data, the new API methods should provide a way to retrieve data in chunks. If you find an issue or missing functions in current Tenken implementation, please provide those feedbacks as TODO items.
Technology Overview
JavaScript
HTML
Documentation Provided
Please register to get documents / code from challenge forum.Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Updated code that covers all requirements.
- A complete and detailed deployment document explaining how to deploy the application including configuration information.
- Optional document describing the next set of API to be refactored.
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.