Skip to content

yogarajalakshmi-s/origin-full-stack-restaurant-challenge

Repository files navigation

Recruitment Challenge

CERN full stack challenge. The aim of this challenge is to add features to an existing simplified meal ordering platform.

1. User Authentication:

  • A client-side modal for login and registration.
  • New endpoints on the server side to handle login and registration.
  • Necessary database structures (i.e. a User table) and persist user data upon registration.
  • Re-directing user when they try to access routes without authentication.
  • Respective flash messages for registered and non-existing mail IDs.

2. Dish Orders:

  • Users will be able to order dishes
    1. By first putting dishes into a shopping cart.
    2. And then submitting the content of the shopping cart as order to the server.
    3. The server persists that order in the database.

3. Dish Reviews:

  • Users will be able to:
    1. Provide a rating for a dish from 1 to 5.
    2. Leave a comment alongside their rating.
    3. View the average rating of the dish.
    4. View comments and associated ratings of other users.
  • One user can only give one review per dish, and only after having ordered that dish.
  • Reviews (rating and comments) should be persisted in the database.

4. User-Restaurant Chat:

  • Interactive chat feature between user and restaurant employee. The content of the employee's responses are hardcoded.
  • Allowing users to:
    1. Initiate and end chat conversations.
    2. The chat should automatically end if the customer is inactive for a predetermined period.

5. Order Page:

  • Ensure users can only view their own order history.
  • Implement an order tracking feature that allows to view the status/progress of a user's orders.
  • An order can be in either of the following states:
    • Submitted: User submitted the order. Restaurant is reviewing.
    • Approved: Restaurant approved the order
    • Rejected: Restaurant rejected the order
    • Canceled: User canceled the order
    • In Preparation: Restaurant is preparing the order
    • In Delivery: The order is out for delivery
    • Delivered: The order has been delivered
  • A user can only cancel an order as long as the order is not yet in preparation.

About

Origin full stack restaurant app development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published