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, we'd like you to help design the backend architecture to support the app.
Here are the tasks that need to be done:
- Design the database schema and provide a complete ERD
- Design the REST API endpoints covering all features in the app, the definition should be done in Swagger format
- Provide implementation details for all API endpoints, this includes request parameters, response structure, data model definition, exception handling, response error code, as well as how the API should be implemented. This is a major requirements and failing to provide such detailed implementation notes will be considered a major requirement miss in the scorecard.
- Provide a clear mapping from the API to the features on each screen of the app so that integration will be easy. This also serves as a checklist of all features being covered by the backend API.
- All screens are in scope, and you may find a couple screens not shown in the design but they are easy to understand and in scope too.
- The backend will be hosted on Rackspace, make sure there’s nothing incompatible with this hosting environment.
- Keep in mind the frontend will be an iOS app developed using Swift.
Make sure you carefully check the design source file as well as the InVision prototype to understand the screenflow.
Technology Overview
Java 8
Spring Boot
PostgreSQL
Jetty / Tomcat / JBoss
iOS 9+
iPhone 5 SE+
Swift
Xcode
Documentation Provided
Register to see documents in the forum.
Final Submission Guidelines
Submission Deliverables
Submit a single zip file containing all the required deliverables mentioned above.