Architecture Kata “Pizza Online”
Develop a software system to enable customers of a pizza delivery to order online.
The customer will open the web page showing the pizza delivery’s menu. There he can enter an order quantity for each pizza (default: 0). At the end he enters his name, address, telephone number and email address.
When he submits the pizza order he’ll be presented with a summary including an order number to confirm. If the summary is confirmed the order will be sent to the pizza delivery and the customer will receive a receipt email.
In case the customer is not satisfied by the summary he can go back to the menu. Whatever he had entered before of course will still be in place. His personal data will be stored for future orders with the same phone number or email address.
On the pizza delivery’s side orders will be printed automatically  upon receipt and archived as a Json- or XML-file.
The menu is made available to the software system as a CSV-file named menu.txt and accompanied by picture image files:
Each pizza can be ordered in three different sizes. Pictures reside in the same directory as the menu file.
Printing the order makes it easy to integrate the new online order system into the existing pizza production process. So far orders had been received via phone and were written down on paper to be handed to the pizza bakers.
“I am the founder of Majer Consulting and Majer Training and an experienced software developer, trainer and consultant. I have been on the road in the SAP world since 1998, supporting numerous projects, and have developed a passion for software engineering, software testing and agile development methods such as TDD. When I am not servicing customers or holding seminars, I am speaking at conferences or writing my next book.”