Skip to content
Permalink
02ea1ad2dc
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
74 lines (52 sloc) 3.61 KB

Restaurant Reviews

Build a website which allows customers to review local restaurants. All restaurant details and reviews must be stored in a database.

Stage 1

The core functionality consists of three screens that allow users to review a single restaurant:

  1. The home screen displays the following information about the restaurant. The text and image name should be stored in the database, not included in the page template as static text:
    1. The name of the restaurant.
    2. A large photo banner image of the restaurant interior.
    3. The address and phone number
    4. A detailed, multi-line, formatted description
  2. Clicking on either the image or name displays the details screen where the following information is displayed:
    1. The large banner image showing the restaurant interior.
    2. The name of the restaurant
    3. The address, phone number and email address.
    4. A detailed, multi-line, formatted description
    5. The user reviews with the most recent at the top and with the date each was added clearly shown
    6. If the user has not already left a review there should be a multiline text area where they can add their own detailed, multi-line, formatted review.

Stage 2

The intermediate tasks require you to make changes to the functionality:

  1. The home screen displays a list or grid of multiple restaurants and displays the following for each of them:
    1. The name
    2. A thumbnail image
  2. Clicking on the image or name should display the details (see basic task 2) of the one selected.
  3. If the admin user is logged in, there should be a button or link on the home page to add a new restuarant. This should request the following information:
    1. The name of the restaurant
    2. A high-resolution photo
    3. The address and phone number
    4. A detailed, multi-line, formatted description.

Stage 3

  1. In addition, the restaurants should be displayed in rating order with the best rated at the top.
  2. All reviews should be marked as pending until the site admin releases them.
  3. Pending reviews should not be publicly visible.
  4. The site should implement full-text searching.
  5. Logged in users can add comments to other people's reviews.
  6. Restaurants can be assigned to the owner's account who can update their own restaurant details (one owner might be assigned several restaurants).

Extras

In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.

Sensors

In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:

  1. When adding a restaurant, the address should be stored as a geo-location.
  2. The home screen should display a map showing the locations of each news item:
    1. Clicking on a pin should show a summary bubble showing the retaurant name and the thumbnail image.
    2. Clicking on this should send the viewer to the retaurant details page.
  3. When prompted for a photo, the user should be given access to the device camera (if available).

Media

In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:

  1. Providing the user with the choice of uploading photos, video clips or audio clips.
  2. Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.

Data

There are lots of online RESTful APIs you can make use of when developing this system. You should consider:

  1. Zomato
  2. LocationIQ