This is my capstone project of the Meta Back-end developer course. The purpose of the project is to build a RESTful API that allows users of a fictional restaurant to reserve a table from the front-end application of the restaurant.
This application is a simple REST API that serves as the backend application of a fictional restaurant. It allows different users of the application to do the following:
- New customers can register by means of a Post http request.
- An authorized manager can see all the registered users of the application via a Get HTTP request.
- Any registered user of the app can login and obtain an authorization token or API Key via a Post HTTP request.
- An authorized manager can logout a user and destroy their API Key via a Post HTTP request.
- Registered customers can make a Get HTTP request for all menu-items the restaurant currently has.
- Registered customers can make a Get request for a single menu item.
- Authorized managers can make a Post HTTP request to Post new menu-items to the application database.
- Authorized managers can make a PUT/PATCH/DELETE HTTP request for a single menu item.
- Registerd customers can reserve a table by making a Post request.
This application was built using these technologies and languages:
- Django Web Framework
- Django REST framework
- Python
- MySQL Database
- For reserve a table functionality: http://127.0.0.1:8000/tables/
- Get and Post request for all menu items http://127.0.0.1:8000/restaurant/menu
- Get/PUT/PATCH/DELETE request for a single menu item http://127.0.0.1:8000/restaurant/menu/1
- GET and Post request for users and to register a new user http://127.0.0.1:8000/auth/users/
- Post request To Login a user and obtain token http://127.0.0.1:8000/auth/token/login/
- Post request To Logout user and destroy their token http://127.0.0.1:8000/auth/token/logout/
The API response can be in JSON or XML format.
N/A
This is a server side application built to be served over a server.
Coursera, Meta provided guidiance via the Backend developer specialization.