DotNetIntroduction

Waiter availability

Your sister is running a coffee shop in town, she needs a web application to help her schedule weekly waiter shifts.

Create a web application that can help her.

Waiters can:

Your sister wants to:

She needs 3 waiters for each day. Days for which there are enough waiters should be marked as green, days for which more waiters are needed still and days that are over subscribed should be highlighted accordingly.

Use Razor Pages

Your Razor Pages to create these three pages

Route Type Description Requirements
GET Show waiters a screen where they can select the days they can work Take parameter for the watername in the URL
POST Send the days the waiter can work to the server. Take parameters in the POST route/param for the waiter name
GET Show your sister which days waiters are available No parameters needed

Tip: Use checkbox's in your form. As they allow for multiple selections. There should be a checkbox for each week day.

Things to note

Keep it simple

Store your data in PostgreSQL using Dapper.NET. If you really want to use another back-end like Entity Framework lets discuss this.

Properly seperate your Razor Pages and your backend code from each other using an interface.

Create canva screen prototypes for the screens you are going to create.

Please add all artifacts such as SQL scripts,code, and screen prototypes to a GitHub repo called waiter_availability_app.

Create a descriptive readme file.

Use Docker to run PostgreSQL on your PC.

Deploy your app to Digital Ocean.

Things to explore later

Keep things simple and to the point initially. Get the app working.

Explore later: