Skip to content
blankmaker edited this page Sep 8, 2014 · 1 revision

Step 1: Splash Page

  • Current URL: /splash
  • Login redirects to /login
  • Customer Sign-Up redirects to /customer/signup
  • Restaurant Sign-Up redirects to /restaurant/signup

Step 2A: Login Page

  • Current URL: /login
  • Login does a GET request to the server with only the username. Password security not created for MVP.
    • If user is a restaurant, redirect to RESTAURANT FLOW: /restaurant/availability
    • If user is a customer, redirect to CUSTOMER FLOW: /customer/search-criteria

Step 2B: Customer Sign Up Page

  • Current URL: /customer/signup
  • Form does validation on client-side
  • Sign me up! does a POST request to server then invokes login function. If user doesn't exist, then it inserts into the db. Login function handles redirect to CUSTOMER FLOW.

Step 2C: Restaurant Sign Up Page

  • Current URL: /restaurant/signup
  • Form does validation on client-side
  • Sign me up! (at the bottom of screen) does a POST request to server then invokes login function. If user doesn't exist, then it inserts into the db. Login function handles redirect to RESTAURANT FLOW.

Customer Flow

Step 3: Customer Search Criteria

  • Current URL: /customer/search-criteria
  • Find me some restaurants does a GET request using a URL query string to get restaurants that match the criteria: distance, price range, and cuisine.
    • Query string formulation is in services.js in the Customer factory.
    • On success of the GET request, user is redirected to customer/search-results with available restaurants.

Step 4: Customer Search Results

  • Current URL: /customer/search-results
  • Check boxes next to each result sends a pubnub request to the appropriate restaurant.
    • This will force the Restaurant's view of Interested Customers to change

Step 5: Customer Confirmation

  • Current URL: /customer/search-results
  • Once the restaurant confirms, pubnub will initiate an $ionicPopup notification confirming that the restaurant is expecting them.