Техническое задание: Разработка домена портала мероприятий

Общая задача

Спроектировать и разработать предметную область (доменную модель) для веб-портала, представляющего собой интерактивный календарь деловых и развлекательных событий. Цель - создать функциональный бэкенд для полного цикла управления событиями.

Ключевые функциональные блоки

  • Календарь мероприятий: вывод событий в календарной сетке (месяц, неделя, день) с возможностью фильтрации и поиска.
  • Добавление и редактирование: создание, изменение и удаление событий зарегистрированными пользователями или модератором.
  • Публикация и вывод: система статусов (черновик, опубликовано, отменено), карточка события, подробное описание, дата, время, место, категория.
  • Аналитика и статистика: базовый модуль сбора данных (просмотры, регистрации, добавление в избранное) и вывода отчётов внутри административной панели.

Технические требования

  • Язык бэкенда: PHP (без использования фреймворков как обязательное условие; использование функций MySQLi или PDO приветствуется).
  • База данных: MySQL (реляционная структура, нормализация таблиц).
  • Архитектура: логика должна быть вынесена в отдельные классы/ функции (Репозиторий, Сервис, Модель). Код привязан к ЗАДАЧЕ домена, а не к конкретному слою представления.
  • Безопасность: подготовленные SQL-запросы для предотвращения SQL-инъекций; валидация и санитизация входных данных.

Требования к доменной модели

  1. Категории (связь многие-ко-многим с Event).
  2. Пользователи (владельцы/создатели событий).
  3. Транзакции (регистрация на событие, лайки/отзывы).
  4. Мероприятие (поля: id, title, description, datetime, location, status...

Фронтенд

Визуальная часть не входит в задачи данного пункта ТЗ. Однако домен должен быть спроектирован с расчетом на дальнейшую привязку к API, по которому будет работать JS (Bootstrap/vanilla JS) фронтенд.

Обзвон теплой клиентской базы для возобновления сотрудничества

Требуется оператор для обзвона существующей базы клиентов (около 1000 контактов) с целью возобновления деловых отношений. Работа по готовым скриптам в CRM с интегрированной телефонией, нагрузка - 50 звонков в день.