Giter VIP home page Giter VIP logo

goudendraak's People

Contributors

dependabot[bot] avatar matsn0w avatar

Watchers

 avatar  avatar

goudendraak's Issues

Menu page

User stories

  • As a visitor I want to have an overview of all dishes and prices, so that I can (in advance) make a make a good choice.

Context

On the current site you can find a page called 'Menu' with two images
can be seen from the paper menu. The customer / visitor can see which dishes
are served and the cost per dish. On the menu, the dishes are divided into
categories.

In addition to these categories, there are also some menus available for groups from 15 persons.

[BACK END] 4.3 - User roles

Als admin kan ik medewerkers met toegangsrechten toevoegen, aanpassen, en verwijderen zodat de toegang tot mijn site geregeld is.

  • de rechten die minimaal aanwezig moeten zijn: klant (geen rechten), kassamedewerker, serveerster, admin

Add styling

The website should be styled like the old design, but with modern css standards. We'll be using Bulma for that.

Todo

  • Basic layout
  • Global styles
  • Navbar

Authentication

User stories

  • As a restaurant, I want to prevent unauthorized persons from gaining access to the cash register system, so that no sensitive data is made public.

Context

Before the employee can use the cash register system, he/she must first register report in the system. This is possible with the personal Employee Number and associated password. Without a correct combination the user will not get access.. This becomes reported by an error message.

With the 'Log Out' button, the employee can log out of the system.

Cash register > Sales report

User stories

  • As a manager, I want to know how much turnover has been achieved in a given period, so that I can take action on this.
  • As a manager, I want to know how much VAT has been collected, so that I can report this to the tax authorities.
  • As a manager, I want to know how many dishes have been sold, so that I can adjust the marketing accordingly.
  • As a buyer, I want to know how many and which dishes have been sold, so that I can estimate how much needs to be purchased.

Context

In this screen the employee can generate an overview of the orders that have been placed in a certain period. The employee can indicate this period himself by means of a start and end date. With the button 'Make Overview' the data of that period is retrieved. If no start and/or end date is selected, the employee will see an error message: “start date or end date not entered!”. The employee must again click away from this message in order to continue.

When the overview has been generated, the employee will see two different areas:

  • A section containing the total turnover, VAT and turnover excl. VAT
  • A section containing all individual transactions

In the section with the individual transactions, a table can be seen with the date, the name of the dish, the price of the dish, the number and the subtotal per transaction. There is no distinction in orders; all dishes are included separately.

[CASHIER] 2.2 - Order notes

Als kassamedewerker kan ik opmerkingen toevoegen aan een gerecht op een bestelling zodat klant specifieke wensen meegenomen kunnen worden in de bestelling.

  • Ieder gerecht op een bestelling zou dus opmerkingen kunnen krijgen, bv. “geen ui toevoegen.”

News page

User stories

  • As a visitor I want to be informed of the latest news, so that I can visit the restaurant well prepared..
  • As a restaurant, I want to notify my customers of important updates, so that I receive as many customers as possible.

Context

Important messages are posted on the news page regarding the goings on and sailing from the restaurant. For example, there is a message about the situation surrounding the coronavirus.

[CASHIER] 2.1 - Menu items search

Als kassamedewerker kan ik eenvoudig gerechten opzoeken zodat klanten sneller geholpen kunnen worden.

  • Hierbij is er een invoermogelijkheid met zoekfunctie.
  • Ik kan zoeken op gerechtnaam (of deel daarvan), of op gerechtnummer
  • Gerecht categorie

[CUSTOMER] 1.2 - Food information

Als klant wil ik bij gerechten informatie zien over allergenen en pittigheid zodat ik hiermee rekening kan houden.

  • De allergenen die minimaal getoond moeten worden zijn: bevat gluten, bevat lactose, bevat varkensvlees
  • De pittigheid wordt getoond op een driepuntschaal. Bij geen indicatie is een gerecht niet pittig.
  • Dit is per gerecht in te stellen

Contact page

User stories

  • As a customer I want to be able to contact the restaurant so that I can ask questions or to reserve.
  • As a customer, I want to know the address of the restaurant so that I can visit the restaurant.

Context

Practical information about the restaurant is mentioned on the contact page, such as the address and a map. This map shows the location of the restaurant and a piece of the area. This shows the route from Central Station.

Note that there are two versions of this page. These pages are identical, with
one difference:

  • The first page shows an interactive map from Google Maps with the location
  • On the second page just a screenshot of this map, showing the
    environment of the restaurant

Cash register > Dishes

User stories

  • As an employee, I want to know which dishes are served and what the prices are, so that I can properly inform the customers.

Context

On this page, the employee can view the two images of the paper menu. These are identical to the menus page in the front-end.

[BACK END] 4.1 - Menu CRUD

Als admin kan ik gerechten toevoegen, aanpassen en verwijderen zodat het menu up-to-date gehouden kan worden.

De nummering moet wel gelijk blijven. Je zal dus met a,b,c moeten werken bij huidige. Bij echt nieuwe gerechten/categorie kan de nummering doorlopen.

Cash register > General

User Stories

  • As an employee, I want to be able to add dishes, so that I can make a complete order for the customer.
  • As an employee, I want to be able to delete dishes, so that I can correct an error.
  • As an employee, I want to be able to register the number of dishes purchased, so that the correct price can be calculated.
  • As an employee, I want to know the total price of an order, so that I can have the customer make the correct payment.
  • As an employee, I want to be able to pay for an order, so that I can register the transaction.
  • As an employee, I want to be able to delete an order, so that I can start over.

Context

The employee can handle orders on this page. The page is divided into two parts:

  • An overview of all dishes and prices
  • An overview of all selected dishes and the total price

The first section contains a list of all dishes, per category. The price of this dish is shown with a button to add the dish to the order. When the employee clicks on this, the order is completed. The total price is increased by the amount of the dish. By clicking on 'Add' several times, the total price will be increased. The employee can also change the quantity by increasing the box containing the quantity in the order screen. The displayed number is not increased when the employee increases the number via the 'Add' button.

In the second part is a list of all added dishes and the number. The total price can be found below. Then two buttons:

  • To pay
  • Remove

The order is completed and saved with the 'Checkout' button. This is confirmed with a message: “Sale successful!”. The employee must click away this message. Then the screen will reset. If the employee has not selected any dishes 19 a message will be displayed: “Nothing selected”. The employee must first click away from this screen before being able to continue.

The order is canceled with the 'Delete' button. Also now the screen is reset. If no dishes are selected, nothing happens.

News items

A news item:

  • has a title
  • has a body text
  • has a date

Todo

  • API
  • Front end
  • Back end

[FRONT END] 3.2 - Menu PDF

Als klant wil ik een up-to-date PDF van het menu kunnen downloaden. (generatie vanuit de database). Hierbij worden ook eventuele aanbiedingen afgedrukt op een aparte pagina in de PDF.

[FRONT END] 3.1 - Localization

Als klant lees ik de website in een voor mij geschikte taal zodat ik de site kan begrijpen.

  • In het front- of backend is localisatie geimplementeerd. Aan de hand hiervan toont de site uit zichzelf de site in het Nederlands, of anders in het Engels
  • Het is ook mogelijk om handmatig in het front-end te wisselen van taal. (Alleen NL en EN is voldoende.)
  • Deze requirement mag NIET geimplementeerd zijn als twee fysiek aparte sites. De vertaal teksten mogen in een JSON bestand en/of Database afhankelijk van je oplossing. Het moet aanpasbaar zijn.

[CUSTOMER] 1.1 - Tablet orders

Als klant kan ik mijn voedsel bestelling op een tablet doorgeven zonder hulp van een medewerker zodat ik sneller geholpen wordt.

  • Er is een tafelindicatie aanwezig voor een bestelling.
  • Tussen twee opeenvolgende bestellingen van dezelfde klant zitten 10 minuten. In de tussentijd kan de klant niet bestellen.
  • De 'kassa' heeft een overzicht van alle bestellingen

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.