Screenshot of restaurant site home page.

Home Page
The home page features a custom logo, a jumbotron featuring an image of food, navigation to other pages on the site, as well as an area for displaying a message or other information to site visitors. The footer offers a quick way to connect with the restaurant through social media.

Screenshot of restaurant About Us page.

About Us Page
The About Us page features an interactive map of the restaurant's location using Leaflet.js. The page also provides a side bar providing the user with the restaurant's hours and contact information.

Screenshot of restaurant admin dashboard page.

Admin Dashboard
The Admin Dashboard features a form for adding items to the restaurant's menu. The form collects input from the user and creates a menu item object. The object is sent to the University-provided API via an AJAX Fetch request, using the POST method. The page also features a table with current menu items, which is updated by pulling the menu item objects down from the API using an AJAX Fetch request. I used a JavaScript function to create a table to display the menu items in table form and added a delete link, which uses an AJAX Fetch call with a DELETE method to delete individual objects from the menu. When the user clicks the Log Out button, the user object is removed from session storage, the Admin Dashboard gets hidden, and the Admin Login form displays.

Screenshot of restaurant admin login form.

Admin Login Form
The Admin Login form accepts a user name and password, then creates a user object. When the user clicks the login button, the user object is stored in Session Storage (so the admin retains their login until they log out) and is sent to the University-provided API via an AJAX Fetch request, using the POST method. The API then compares the object to its database and authenticates the user. If the user successfully logs in, the Admin Login form hides and the Admin Dashboard displays.