Cosmetology master app
Скворцов Александр Владимирович, гр. 153503
Гость:
- Создание аккаунта
- Возможность чтения информации о доступных услугах, процедурах
Пользователь:
- Аутентификация
- Авторизация
- Чтение информации о доступных услугах, процедурах
- Создание записи/заказа услуги или продукта
- Редактирование записи/заказа
- Отмена записи/заказа
Сотрудник:
- Создание записи/заказа услуги или продукта
- Редактирование записи/заказа
- Отмена записи/заказа
- Создание записей о поставках
- Добавление продуктов/услуг
Администратор:
- Журналирование действий пользователя
- Полный доступ к CRUD операциям приложения
- Клиенты (Client) – таблица, содержащая общую информацию о клиентах, которые уже пользовались услугами и соответственно о роли Customer:
Содержит связи:
• “Многие ко многим” с услугами
• “Один ко многим” с отзывами
• “Один ко многим” с записями
• “Многие ко многим” с товарами
Содержит поля:
- Имя (first_name) – строка, до 20 символов, не пустая
- Фамилия (second_name) – строка, до 20 символов, не пустая
- Отчество (surname) – строка, до 20 символов
- Номер телефона (phone) – строка (макет +375(29)ХХХ-ХХ-ХХ), 17 символов, не пустая
- Электронная почта (email) – строка, до 30 симоволов
- Услуги (Service) – таблица всех услуг, предоставляемых мастеров:
Содержит связи:
• “Многие ко многим” с клиентами
• “Один ко многим” с записями
Содержит поля:
- Название услуги (name) – строка до 30 символов, не пустая
- Внутреннее (краткое) название услуги (alias) – строка до 10 символов, не пустая, уникальное
- Описание (description) – текстовое поле
- Стоимость (cost) – целочисленное поле, не пустое
- Расписание (Schedule) – таблица, содержащая информацию о записях клиентов на процедуры:
Содержит связи:
• “Многие к одному” с клиентами
• “Многие к одному” с услугами
• “Один ко многим” с сотрудниками
Содержит поля:
- ID клиента (Foreign Key, связь с таблицей "Клиенты") – связь один к одному (одна запись в расписании для одного клиента)
- Дата и время начала (start_datetime) – поле датавремя, не пустое
- Длительность (duration) – длительность процедуры
- ID услуги (Foreign Key, связь с таблицей "Услуги")
- ID сотрудника (Foreign Key, связь с таблицей "Сотрудники")
- Примечания - текстовое поле
- Сотрудники (Staff) – таблица содержащая информацию о роли Staff, чтобы сотрудники могли авторизоваться в приложение:
Содержит связи:
• “Многие к одному” с записями
Содержит поля:
- Имя (first_name) – строка, до 20 символов, не пустая
- Фамилия (second_name) – строка, до 20 символов, не пустая
- Должность (job_title) – строка, до 20 символов, не пустая
- Номер телефона (phone) – строка (макет +375(29)ХХХ-ХХ-ХХ), 17 символов, не пустая
- Электронная почта (email) – строка, до 30 симоволов
- Продукты (product) – таблица имеющихся в прайсе продуктов для продажи (таких как косметика и т.п.):
Содержит связи:
• “Многие ко многим” с клиентами
• “Один ко многим” с продажами
Содержит поля:
- Название продукта - строка, до 20 символов, не пустая
- Внутреннее (краткое) название услуги (alias) – строка до 10 символов, не пустая, уникальное
- Описание (description) – текстовое поле
- Стоимость (cost) – целочисленное поле, не пустое
- Продажи (sale) – таблица, содержащая информацию о проданных продуктах:
Содержит связи:
• “Многие к одному” с клиентами
• “Многие к одному” с продуктами
Содержит поля:
- ID продукта (Foreign Key, связь с таблицей "Продукты")
- ID клиента (Foreign Key, связь с таблицей "Клиенты")
- Количество(quantity) - целочисленное поле, не пустое
- Дата и время продажи(date) – датавремя продажи
- Отзывы (reviews) – таблица отзывов:
Содержит связи:
• “Один к одному” с клиентом
Содержит поля:
- ID клиента (Foreign Key, связь с таблицей "Клиенты")
- Текст отзыва (comment) – текстовое поле
- Рейтинг (от 1 до 5) (raiting) – целочисленное поле, не пустое
- Поставки (supply) - таблица поставок:
Содержит связи:
• “Многие ко многим” с продуктами
• “Один к одному” с финансами
Содержит поля:
- Стоимость поставки (cost) - дробное число, не пустое
- Финансы (Finance) – таблица, содержащая информацию о доходах/расходах:
Содержит связи:
• “Один к одному” с записями
• “Один к одному” с поставками
• “Один к одному” с продажами
Содержит поля:
- Тип (доход или расход) (type) – строка, не пустая
- Сумма (sum) – дробное число, не пустое
- Дата и время (date) – датавремя, не пустое
- Описание (description) – текстовое поле