Register
Submit a solution
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 some enhancements. This part is focused on integrating the FAQ and Searching functionality of the app.

Database Schema


The schema may have changed a bit during implementation, hence refer to the script that's attached to the challenge.

Technical Notes

1. Picklist

Picklist Values
The application uses a couple of drop down values. These drop down values should be populated via the Picklist Table. eg Currency, Location Type etc

One sample record for Restaurant could be
ID, Name, Value
1, Restaurant, Bar
2, Restaurant, Cafe etc
The picklist values, should be cached in the front end, to avoid reloading them multiple times from the database.

2. Audit Fields

Some tables have no audit fields present, Add the 4 audit fields on each table, that missing. Audit Fields will not be passed from the front end, but have to set in the backend code

1. Created By Id

2. Last Modified By Id

3. Created Date

4. Last Modified Date.

3. Home Page

Recent Searches = Can be saved locally
My Recently Added = Shows my recently added restaurant (Number of records to show here can be stored as a config setting)
User Favorites = from the User Favorites table
My Reviews = Review table along with comments and stars

Static Text

Static text displayed on the app as in About or during Getting Started should be stored in a config file and loaded from there

Technical Requirements

1. Map Search Integration (is a part of scope)

User can enter a location, or can start search from current location.

Search results are pulled from 3 admin tables (ibmHotels, ibmMerchants, and ibmLocations) and 1 user accessible table (Travel Comp Location) . These admin tables will be maintained by admin and will be refreshed periodically The user accessible table, will have data populated by application users. 

The admin tables are not related to any other object in the database, since the data in it is subject to change. Hence if a user marks a record as favorite, an entire copy of the record needs be made in the Location table) and the new Id is used to create relationships.

Sample Data is provided for 3 tables. (The Lat and Longitude is missing and can be added manually for few records. There is a grunt task that loads the coordinates, but can be ignored if it doesn't work properly) 
Recent Searches should be stored locally and not persisted in database.
The distance should be shown as per the user setting.

2. FAQ (is a part of scope)

A new FAQ table needs to be created to accommodate the FAQ page
The schema for the table is ID, Topic Name , Title, Description

3.  Home Screen (is a part of scope)

  1.    Recent Searches
  2.    My Recently Added
  3.    Favorites
  4.   My Reviews (Can be skipped for this implementation)

The UI Prototype has been hosted on Bluemix and can be found here. The source code of the UI challenge has been attached.

The pages in scope for this challenge are

  1. Home (My Review Section can be skipped)
  2. Map View
  3. List View
  4. FAQ

 

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



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

ID: 30051956