This project showcases the development of back-end APIs for the Little Lemon restaurant as part of the Meta Backend Developer Certificate program. The APIs provide functionalities such as user management, menu management, order management, and customer interactions.
- User authentication (Admin, Manager, Delivery Crew, and Customer)
- Menu browsing and management
- Cart management
- Order placement and management
- Delivery management
Make a POST call to this endpoint http://127.0.0.1:8000/api/groups/manager/users with a valid admin token and a valid username in the HTTP REQUEST body.
Make a GET call to http://127.0.0.1:8000/api/groups/manager/users with an admin token.
Make a POST call to this endpoint http://127.0.0.1:8000/api/menu-items with the admin token and necessary data. Or, log into the Django admin panel as super admin and then browse this endpoint in your browser and add some menu items.
Make a POST call to this endpoint http://127.0.0.1:8000/api/categories with the admin token and necessary data. Or log into the Django admin panel as super admin and then browse this endpoint in your browser and add some menu items.
Make a POST call to this endpoint http://127.0.0.1:8000/auth/token/login/ with the username and password of a manager.
Make a PATCH call to the endpoint of any single menu item endpoint like this http://127.0.0.1:8000/api/menu-items/1 with a manager token. Add a featured field in the REQUEST body with its value set to true or false.
Make a POST call to this endpoint http://127.0.0.1:8000/api/groups/manager/users with a valid manager token and a valid username in the HTTP REQUEST body.
Make a PATCH call to an endpoint of any single order item like this http://127.0.0.1:8000/api/orders/1 with a manager token. Add a delivery_crew field in the REQUEST body with its value set to any delivery crew user id.
Make a GET call to this endpoint http://127.0.0.1:8000/api/orders with a delivery crew token.
Make a PATCH call to this endpoint to any single order item endpoint like this http://127.0.0.1:8000/api/orders/1 with a delivery crew token. Add a status field in the REQUEST body with its value set to true or false.
Make a POST call to this endpoint http://127.0.0.1:8000/auth/users/ with a username, password and email in the HTTP REQUEST body.
Make a POST call to this endpoint http://127.0.0.1:8000/auth/token/login/ with a valid username and password in the HTTP Request body.
Make a GET API call to this endpoint http://127.0.0.1/api/categories with a customer token
Make a GET API call to this endpoint http://127.0.0.1/api/menu-items with a customer token
Make a GET API call to these endpoints, http://127.0.0.1:8000/api/menu-items?search=Icecream or any available category name instead of Icecream with a customer token.
Make a GET API call to the endpoints http://127.0.0.1:8000/api/menu-items?page=1 or http://127.0.0.1:8000/api/menu-items?page=2 with a customer token.
Make a GET API call to the endpoint http://127.0.0.1:8000/api/menu-items?ordering=price or http://127.0.0.1:8000/api/menu-items?ordering=-price with a customer token.
Make a POST call to this endpoint http://127.0.0.1:8000/api/cart/menu-items with a customer token. Add these fields with valid data in the REQUEST body for menuitem, unit_price, quantity.
Make a GET call to this endpoint http://127.0.0.1:8000/api/cart/menu-items with a customer token.
Make a POST call to this endpoint http://127.0.0.1:8000/api/cart/orders with a customer token. Add only the date field with valid data in the REQUEST body. Here is a sample date – 2022-11-16.
Make a GET call to this endpoint http://127.0.0.1:8000/api/cart/orders with a customer token.