Система управления заказами для кафе с поддержкой:
- Создания/редактирования/удаления заказов
- Поиска по номеру стола и статусу
- Отчёта о выручке
- API для интеграции с внешними сервисами
- Админ-панели Django
- Требования
- Установка
- Настройка
- Использование
- API Endpoints
- Тестирование
- Структура проекта
- Дополнительные возможности
- Roadmap
- Лицензия
- Python 3.9+
- Django 4.2+
- Django REST Framework 3.14+
- PostgreSQL (рекомендуется) или SQLite
git clone https://github.com/your-repo/cafe-management.git
cd cafe-managementpython -m venv venv
source venv/bin/activate # Linux/MacOS
venv\Scripts\activate # Windowspip install -r requirements.txtВ файле cafe_management/settings.py укажите параметры вашей базы данных:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'your_db_name',
'USER': 'your_db_user',
'PASSWORD': 'your_db_password',
'HOST': 'localhost',
'PORT': '5432',
}
}python manage.py migratepython manage.py createsuperuserpython manage.py runserverДоступен по адресу http://localhost:8000
http://localhost:8000/adminhttp://localhost:8000/api/orders/- Создание заказа
Перейти на
/create/и заполнить форму с номером стола, блюдами и статусом. - Список заказов
Страница
/с фильтрацией по номеру стола и статусу. - Редактирование заказа
Перейти на
/<pk>/update/для изменения данных заказа. - Удаление заказа
Перейти на
/<pk>/delete/для подтверждения удаления. - Отчёт по выручке
Страница
/revenue/показывает общую выручку и список оплаченных заказов.
| Метод | URL | Описание |
|---|---|---|
| GET | /api/orders/ |
Список всех заказов |
| POST | /api/orders/ |
Создание заказа |
| GET | /api/orders/{id}/ |
Получение заказа по ID |
| PUT | /api/orders/{id}/ |
Обновление заказа |
| DELETE | /api/orders/{id}/ |
Удаление заказа |
| Метод | URL | Описание |
|---|---|---|
| GET | /api/orders/search/ |
Поиск заказов по параметрам?q=номер_стола&status=статус |
Для запуска тестов выполните:
python manage.py test orderstest_order_creation— проверка создания заказаtest_order_status_update— обновление статусаtest_revenue_calculation— подсчёт выручкиtest_order_price_update— обновление суммы заказаtest_decimal_serialization— валидация Decimal
cafe-management/
├── cafe_management/ # Настройки Django
├── orders/ # Приложение для управления заказами
│ ├── models.py # Модель Order
│ ├── views.py # Веб-представления
│ ├── serializers.py # Сериализаторы для API
│ ├── urls.py # Роутинг
│ └── tests.py # Тесты
├── static/ # Стили и медиафайлы
├── templates/ # HTML-шаблоны
└── requirements.txt # Зависимости
Доступна через /admin с правами суперпользователя
В поле "Блюда" вводите через перенос строки:
Пицца - 500.50
Кофе - 150
- Цены хранятся в формате
Decimalдля точности - Автоматическое округление до 2 знаков после запятой
| Статус | Описание |
|---|---|
| pending | В ожидании |
| ready | Готов к выдаче |
| paid | Оплачен |
- Добавить пагинацию в списке заказов
- Интеграция с платежной системой
- Визуализация выручки через Chart.js
- Мобильная адаптация интерфейса
Ваши идеи и исправления приветствуются! Создавайте issue или pull request.
Спасибо за использование системы управления заказами для вашего кафе!
Проект лицензирован под MIT License.