Pizza Delivery
My first project is in C# + WPF + EF 6, using the MVVM design pattern. Customers use the client app, while cooks and couriers use the employee app. The server application automatically distributes orders among employees.
Functional requirements

The corresponding GUI elements are provided for all actions in the application. Authorization is available for all users.

The following actions will be available for the client:
  1. View pizza data
  2. Making his own pizza
  3. Adding the selected pizza to the cart
  4. Making an order
  5. View the current order
  6. View the order history
Available actions for the cook and the courier:
  1. View the current order
  2. Changing the order status
  3. View the order history
Automation facilities

The automation objects are the processes of creating orders and assigning them to free couriers, as well as confirming that the order has been delivered.

Customers place orders through the desktop application, where they select a pizza or create their own, place an order, specifying the delivery address and username. After the order is created, the system automatically assigns the order to a free cook.

After completing the pizza preparation, the cook changes the order status to "Delivered", and the system automatically assigns it to a free courier.

The courier receives information about the new order in the app. After the order is delivered, it should change its status.

At the order completion stage, the system tracks the delivery time and provides customers with feedback on the status of their order. All operations are recorded in a database for process analysis and optimization.

Demonstration