Challenge Overview
Project Overview
This app is like Pinterest or Tinder for all motorcycle owners. Motorcycle owners post pictures of their bike(s) and identify customizations they have made. Other motorcycle owners can search for and view bikes with the customizations they are interested in. Gamification is added to gather more data and to give it more stickiness.
Competition Task Overview
For this challenge and the next few ones, we are going to integrate the prototype iOS app with the backend services to build the final functional app.
Here are some general guidelines to follow:
1. The app must be built using Swift
2. The app must work on iOS 9+ and iPhone 5 SE and above
3. The app is iPhone only and only needs to support the portrait orientation, it should work on iPads in scale mode though
4. The code must be properly documented
5. The app should provide good user experience, for example: when the app is performing actions that takes time (like uploading a document), the app should not look like it's freezing, instead a loading indicator should be shown to let the user know some action is in progress
6. No hardcoded data in code, data should come from the API after the integration
In the previous challenge, we have integrated some screens, please check here for details.
For this particular challenge, we except to get the following done:
3. The GET /users/<id>/badges endpoint had some issues but should be fixed now, make sure the app works with it.
4. Recently liked api was not working properly and should be fixed now, please make sure the app works with it.
5. Please note the backend service should run on Heroku and files should be hosted on Amazon S3, make sure you test / develop with the correct environment.
Technology Overview
iOS 9+
iPhone 5 SE+
Swift
Xcode 8 / Xcode 9
Heroku
Amazon S3
Final Submission Guidelines
Submission Deliverables
- A single zip file including all files that cover all the mentioned requirements
- A complete and detailed deployment document in markdown format explaining how to deploy the application including configuration information.