Challenge Overview
Project Overview
The app will allow users to view & rate interesting locations, based on their current location or an address they search on. Users will input their address in a google map or current location coordinates, and the app will show related locations on the map.
Challenge Requirements
The Backend has been created and the UI Prototype is ready. In this challenge, we want to integrate backend feature with frontend, along with enhancements.
Database Schema
The schema may have changed a bit during implementation, hence refer to the script that's attached to the challenge.
Technical Requirements
Add New Restaurant
A new restaurant will create record in Location table.
Type field data should be populated via Picklist object. Create appropiate values for Picklist object. A sample record would be
1, Restaurant, Bistro
2,Restaurant, Food Truck
The picklist values should be cached locally.
Restaurant workhours should be saved in Workhours table, along with locationID as reference
Workhours table needs to be changed a bit to accommodate the opening and closing time. The new table structure will be
Day, Opening Time , Closing Time
User Reviews
A user can give reviews to a restaurant. The fields to be added or shown while review should be dynamic. It should be picked from the Location Type table. Currently it will one entry for Restaurant. (In future, we may want to add more location types such "theatre" etc). Aggregate reviews should be displayed on the map.
Some scenarios that should be covered in backend, but please noe
- If a Merchant gets reviews, the restaurant data should be copied over into Travel Comp Location table and if the restaurant is not in the IBM Merchants , it should be displayed as a user added restaurant.
When a user provides information on a merchant they should be asked if they want to remain anonymous (review_show_user="N") to other users, but their information should be logged
The mandatory fields for saving reviews and displaying reviews should be queried from Location Type table (currently it will have only one value "Restaurant"), we may want to add more values in future.
Review Photos and Review Likes
A review photo will be tagged by a user, if its a restaurant photo or menu photo etc
User Favorites
A user can mark any restaurant, location as favorite.
If someone marks an establishment as a favorite, the location/hotel/ Merchant should be copied to IBM Travel Comp table (if not already exists)
Cordova mobile app
Create new Cordova App with name "IBM TravelCompanion" and Merge All UI components with new app.
Cordova App should include build for iOS and Android.
App behave similar to current web application.
Use Cordova Plugins
Update existing code to use cordova geolocation plugin to get current user loaction.
Previous Challenges
https://www.topcoder.com/challenge-details/30050998/?type=develop&noncache=true
https://www.topcoder.com/challenge-details/30050895/?type=design&noncache=true
https://www.topcoder.com/challenge-details/30051293/?type=develop&noncache=true
http://www.topcoder.com/challenge-details/30051956/?type=develop&noncache=true���
Final Submission Guidelines
A complete list of deliverables are described here http://apps.topcoder.com/wiki/display/tc/General+Assembly+Competition+Tutorial
Installation Instructions
The app will be deployed on Bluemix, hence the deployment guide should contain steps for
- Local installation and verification
- Bluemix installation and verification.
Detailed deployment steps should accompany the submission to be accepted.
N.B. Reviewers and Implementers
We have a new scorecard for evaluation. Please adhere to the new norms and guidelines as in scorecard