IBM - SiBM Travel Companion Integration - Restaurant Addition and hybrid mobile app

Key Information

Register
Submit
The challenge is finished.

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 

  1. Local installation and verification
  2. 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

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30052201