Code Monkey home page Code Monkey logo

grow-restaurant's People

Contributors

daisygunn avatar

Stargazers

 avatar  avatar

Watchers

 avatar

grow-restaurant's Issues

USER STORY: Users are able to submit a reservation request form.

As a user I can submit a reservation request so that I can visit the restaurant.

Acceptance Criteria:

  1. On the reservations page users can submit the reservation form if all details are valid.
  2. If part of the form is not valid the user is told why so that they can rectify it

USER STORY: Food and drink menu's can be viewed seperately

As a user I can view the food & drinks menu's seperately so that I can easily find the information I'm looking for.

Acceptance Criteria:

  1. There is a Food Menu page with clear menu sections for the different items
  2. There is a Drinks Menu page with clear menu sections for the different item

USER STORY: Approve/reject reservation requests

As a admin user I can approve or reject any reservation requests so that I can manage the restaurant's bookings efficiently.

Acceptance Criteria:

  1. From the admin panel the admin user is able to change the reservation status to 'confirmed', 'pending' or 'rejected'

USER STORY: Reservation form is rejected if the restaurant is full.

As an admin user I can prevent guests from submitting reservation requests for full slots so that I can efficiently manage customer expectations and prevent a backlog of bookings.

Acceptance Criteria:

  1. If there are no tables available at the time/date selected the reservation request is not sent.
  2. A message is displayed to the user explaining this.

USER STORY: Users can edit their customer information

As a user I can edit my customer information so that I can make sure my details are up to date for any future communication with the restaurant.

Acceptance Criteria:

  1. A logged in user can access the edit customer details page
  2. Using the form they can update their full name and phone number
  3. There is a link to update the email on their user account

USER STORY: Site navigation

As a user I can intuitively navigate through the site so that I can view desired content.

Acceptance criteria:

  1. Each feature has a navigation link
  2. Links to features are found on the homepage

USER STORY: Food and drinks items have full CRUD functionality

As an admin user I can create, remove, update or delete food & drinks items from the database so that I can ensure items are accurate and able to be added to the menu on the website.

Acceptance Criteria:

  1. From the admin panel the admin user can access the FoodItem and DrinksItem models.
  2. New items can be added
  3. Existing items can have their information edited
  4. Existing items can be deleted

USER STORY: Menu's can be updated

As an admin user I can sign in to add & remove items from the current menus so that I can make sure the website is up to date and accurately reflects what is being served in the restaurant.

Acceptance Criteria:

  1. From the admin panel the admin user can access the FoodItem and DrinksItem models.
  2. The admin user can toggle 'on menu' to choose which items are displayed on the website

USER STORY: Prompt user to register for an account.

As a user I am prompted to register for an account so that I can create an account and receive the benefits from having a profile.

Acceptance Criteria:

  1. 'Register' option is found in the navbar
  2. On the login page the user is prompted to register for an account if they don't already have one.

USER STORY: Users can login

As a user I can register or login so that I can manage my booking requests.

Acceptance Critera:

  1. If a user doesn't have an account they can register for one using the 'register' navlink
  2. If a user has an account they can login using the 'login' navlink

USER STORY: Contact form can be sent.

As a user I can send a contact form to the restaurant so that I can receive additional information.

Acceptance Criteria:

  1. On the contact us page users can submit the contact form if all details are valid.
  2. If part of the form is not valid the user is told why so that they can rectify it
  3. This form is then sent by email to the website owner, whose details are specified in settings.py

USER STORY: Admin login

As an admin user I can log in so that I can access the site's backend.

Acceptance Critieria:

  1. Admin can login using the /admin URL, with the username and password set

USER STORY: Forms will be auto-populated if the user is logged in.

As a user I can log in so that I can auto-populate forms with my information on the site.

Acceptance Criteria:

  1. If a new user logs in their email will be populated in the reservation form.
  2. If a new user logs in their email will be populated in the contact form.
  3. If a returning user, that has made a reservation enquiry before, logs in their email, name & phone number will be populated in the reservation form.
  4. If a returning user, that has made a reservation enquiry before, logs in their email & name will be populated in the contact form.

USER STORY: Logged in status is clear to the user.

As a user I can easily see if I'm logged in or not so that I can choose to log in or log out depending on what I'm doing.

Acceptance Criteria:

  1. If a user is logged in the navbar links change from 'Register' & 'Login' to 'Logout'

USER STORY: Basic website layout - navbar/footer

As a user I can find a navigation bar and footer so that I can see what content there is on the website.

Acceptance Criteria:

  1. Navbar is sticky so can always be found by the user.
  2. Footer is present on all pages.

USER STORY: Informative landing page

As a user I can get key information about the restaurant from the landing page so that I can spend less time having to search for information.

Acceptance Criteria:

  1. The footer has opening times, location information & contact details
  2. The homepage blurb provides information about the ethos of the restaurant

USER STORY: Reservations can be edited by User on the front-end.

As a logged in customer I can edit/delete an existing enquiry so that I can make changes if required online.

Acceptance Critiera:

  1. Logged in Users can access the manage reservations page
  2. All existing reservation enquiries are displayed
  3. User can click edit to change reservation details
  4. User can click cancel to delete an existing reservation
  5. User can only edit/delete their reservations - message to be displayed if they try to access reservations that are not theirs.
  6. If they have no existing reservations they are redirected to the reservations page

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.