This project implements the backend part of a restaurant management application using Django REST API. The backend is responsible for managing various aspects of restaurant operations including orders, reservations, accounts, and menu items. It provides a RESTful API that can be consumed by frontend applications to perform CRUD operations on the data.
Order Management: Allows the creation, retrieval, update, and deletion of orders. Each order can contain multiple menu items with their quantities. Reservation Management: Facilitates creating, retrieving, updating, and deleting reservations for tables in the restaurant. Account Management: Manages user accounts including authentication and authorization for accessing the API endpoints. Menu Management: Supports creating, retrieving, updating, and deleting menu items including details like name, description, price, and category.
Once the development server is running, you can access the API endpoints using tools like curl or Postman. Alternatively, you can integrate these endpoints into a frontend application.
Orders:
GET /api/orders/: Retrieve all orders
POST /api/orders/: Create a new order
GET /api/orders//: Retrieve a specific order
PUT /api/orders//: Update a specific order
DELETE /api/orders//: Delete a specific order
Reservations:
GET /api/reservations/: Retrieve all reservations
POST /api/reservations/: Create a new reservation
GET /api/reservations//: Retrieve a specific reservation
PUT /api/reservations//: Update a specific reservation
DELETE /api/reservations//: Delete a specific reservation
Accounts:
POST /api/accounts/register/: Register a new user
POST /api/accounts/login/: Obtain an authentication token
GET /api/accounts/profile/: Retrieve user profile information
PUT /api/accounts/profile/: Update user profile information
POST /api/accounts/logout/: Logout user
Menus:
GET /api/menus/: Retrieve all menus
POST /api/menus/: Create a new menu
GET /api/menus//: Retrieve a specific menu
PUT /api/menus//: Update a specific menu
DELETE /api/menus//: Delete a specific menu
Authentication is required for certain endpoints such as orders, reservations, and user accounts. You need to obtain an authentication token by registering or logging in before accessing these endpoints.
For any inquiries or feedback, please contact Akrem Issaoui.