Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

ClipStreamer is basically something like Evernote where you can clip text or files into your stream and see them elsewhere.  This is an app that will be used across all types of devices (phone, tablet, desktop/laptop), this app helps user share different file formats “picture, text or file”.

Competition Task Overview

For this challenge, we need to define the architecture of the app and provide implementation details for downstream challenges.

Detailed Requirements

  • Essentially this is like Evernote, you can clip text / contact / files on a device and it will automatically sync to the server so it's available to all your other devices as well.
  • Even though the ultimate goal is to make this work on both moble and desktop devices, we have limited budget and therefore is targeting the following:
    • A responsive web app that works on all devices via browser
    • Simple wrapper app that can accept share of texts / links / files from external sources and put that into ClipStreamer to make it available to the web app. There's no need to add the shared info to an existing note, instead the wrapper app can always create a new note when it receives something from other sources.
    • This wrapper app should either have an embeded web view that loads the web app or the wrapper app should redirect the user to the web app after pushing the shared stuff it receives to the server.
    • Ideally we should have wrapper app for both iOS and Android, but if it costs too much to build both we should support at lease one of these platforms.
  • The backend of this app will be built using Node.js
  • The backend must provide RESTful services to be used by the web app (and likely the wrapper app)
  • The backend will be hosted on Bluemix so you should use Cloudant or dashDB for persistence
  • The backend will utilize the box api to implement note syncing functions (the actual notes will be stored inside a folder on box.com as well). The user will be required to log into box.com inside this app as well. Make sure you do some research on how this can be done (based on my experience we have direct the user to a box page to login, but not sure if that has changed).
  • Please also check the wireframes, all screens from the wireframes are in scope of this app.

Open Source Library

Open source libraries under Apache v2 or MIT licenses are fine, for other libs please get our approval first.

TC Components

No TC components are allowed.

Technology Overview

  • Node.js
  • Box.com API
  • REST
  • Bluemix
  • Mobile
  • Javascript
  • CSS
  • HTML5
  • Cordova

References

Bluemix: http://www.ibm.com/cloud-computing/bluemix/

Box Developers: http://developer.box.com/

Documentation Provided

  • Wireframes


Final Submission Guidelines

Submission Deliverables

  • Application Design Specification
  • TCUML containing interface / class diagrams, assembly diagrams, sequence diagrams etc..
  • Interfaces and classes in the TCUML must be well documented
  • Assembly Specifications (with enough implementation details).
  • Documentation for endpoints of all REST services.
  • ERD

Submission Guidelines

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30051208