Middle
Тарҳрезии ҳалли барои саҳифаи веби брон кардани китобҳо дар як занҷири китобхонаҳо: интихоби шаҳр ва мағоза, рӯйхати китобҳо бо филтр, брон аз тариқи рақами телефон, огоҳӣ тавассути SMS. Талаботи функсионалиро тавсиф кунед, диаграммаи ERD созед, дархости SQL нависед ва ҷавоби JSON тайёр кунед.
sobes.tech AI
Ҷавоб аз AI
Функциональные требования:
- Выбор города из списка доступных.
- Выбор магазина в выбранном городе.
- Отображение списка книг с возможностью фильтрации по жанру, автору, цене и наличию.
- Возможность бронирования книги по номеру телефона.
- Отправка SMS-уведомления с подтверждением бронирования.
ERD-диаграмма (основные сущности и связи):
- City (id, name)
- Store (id, city_id, name, address)
- Book (id, title, author, genre, price)
- Inventory (store_id, book_id, quantity)
- Booking (id, store_id, book_id, phone_number, booking_date, status)
Связи:
- City 1..* Store
- Store .. Book через Inventory
- Booking связана с Store и Book
Пример SQL-запроса:
-- Получить список книг в выбранном городе и магазине с фильтрацией по жанру
SELECT b.id, b.title, b.author, b.genre, b.price, i.quantity
FROM Book b
JOIN Inventory i ON b.id = i.book_id
JOIN Store s ON i.store_id = s.id
JOIN City c ON s.city_id = c.id
WHERE c.name = 'Москва'
AND s.name = 'Центральный магазин'
AND b.genre = 'Фантастика'
AND i.quantity > 0;
Пример JSON-ответа:
{
"city": "Москва",
"store": "Центральный магазин",
"books": [
{
"id": 101,
"title": "Война и мир",
"author": "Лев Толстой",
"genre": "Классика",
"price": 500,
"available": true
},
{
"id": 102,
"title": "Мастер и Маргарита",
"author": "Михаил Булгаков",
"genre": "Фантастика",
"price": 450,
"available": true
}
]
}