Challenge Overview
The Hercules Personal Content DVR application is a stand-alone iOS app, allowing users to upload their own video content they recorded on their phone or tablet camera into their DVR for playback on their TV and syncing with other devices.
A new backend library is being developed in the application. This assembly will move the existing library out of it's existing project into a new project and will add in some new calls for new API methods and data entities that have been added to the backend services, along with some unit tests for those new calls.
No UI work will be done as part of this assembly. A new UI will be integrated to work with this new library, but that is out of scope for this assembly.
Code:
The existing code is in the forum for just the backend library. If you want access to the full codebase of the existing app, which you shouldn't necessarily need for this assembly, please let me know.
New services
There are new data entities and services in the backend API. The documentation for the backend API can be found here:
http://docs-ugc.comcast.net
We are going to add the following operations to the UgcAPI class:
- Get all tags
- Get a single tag
- Create a new tag
- Update an existing tag
- Delete a tag
- Add a tag to a file (see operation under "files")
- Remove a tag from a file (see operation under "files")
- Share a file with other users
- Remove files shared with other sues
- Get all shared file
In addition, we need to support these new data entities in the code:
- ExifData (referenced as a property from a file)
- UserInfo (referenced as part of the sharedToUsers and sharedFromUsers properties of a file)
- Tag
New properties
Unit tests
- Updated XCode project with new code and unit tests
- Deployment guide
Final Submission Guidelines
Please see above