Проектирование - djbelyak/PHPMailSender GitHub Wiki
Что нужно сделать
Организовать отправку данных, в соответствии с запросом клиента, на полученный от него e@mail
Кто этим будет пользоваться
Анонимный пользователь
Когда и как будут использовать это
- Для отправки напоминаний (простого текста) на e-mail
- Для отправки веб-страницы (по ссылке) на e-mail
Предметная область
В системе присутствует обычный текст, гиперссылка на страницу, адрес e-mail. Текст необходимо очистить от HTML и JS кода. Гиперссылку необходимо проверить на правильность и доступность. Адрес e-mail необходимо проверить на правильность.
Сущности
- Адрес e-mail
- Текст
- Ссылка
- Письмо
Диаграмма классов
##Диаграмма исключений
Задачи UI
- Выбор типа отправляемых данных
- Форма для ввода текста и адреса e-mail
- Форма для ввода гиперссылки и адреса e-mail
- Сообщения об успешной отправке
- Сообщения об ошибках
Бизнес-логика
Пользователь выбирает тип сообщения.
При выборе напоминания, пользователю показывается форма для ввода текста и адреса e-mail. Если пользователь ввел валидный адрес --- письмо отправляется и появляется сообщение об успешной отправке. В противном случае --- сообщение об ошибке.
При выборе статьи, пользователю показывается форма для ввода ссылки и адреса e-mail. Если пользователь ввел валидную и рабочую ссылку, а также валидный адресы --- письмо отправляется и появляется сообщение об успешной отправке. В противном случае --- сообщение об ошибке.
Функциональная логика -> Библиотеки и фреймворки
- Приветственная страница и формы --- HTML+CSS
- Сообщения --- JavaScript
- Очистка текста, валидация адресов --- Регулярные выражения
- Конвертация статей, отправка e-mail --- PHP
- Общее взаимодействие --- PHP