Техническое задание: Система загрузки фотографий для профиля

Цель проекта

Разработать надежный и удобный модуль на PHP, позволяющий пользователям загружать фотографии в свой профиль и управлять ими, в том числе назначать главное изображение.

Основные функциональные требования

  • Создание интерфейса для загрузки изображений (форма с полем выбора файла).
  • Реализация серверной обработки загружаемых файлов на PHP.
  • Проверка файлов на:
    • Тип (разрешить только форматы JPEG, PNG, WebP).
    • Размер (ограничить максимальный вес файла).
    • Безопасность (базовая проверка на вредоносный код).
  • Автоматическое изменение размера и оптимизация загруженных изображений для создания превью.
  • Сохранение оригиналов и обработанных копий в заданную структуру каталогов на сервере.
  • Интеграция с базой данных для привязки фотографий к профилю пользователя.
  • Создание галереи загруженных пользователем фотографий в личном кабинете.
  • Функционал выбора одной из загруженных фотографий в качестве главной (аватарки/основной).
  • Визуальное выделение главной фотографии в интерфейсе.
  • Возможность удаления загруженных фотографий (кроме главной, если она не удаляется последней).

Требования к безопасности

  • Защита от прямого доступа к файлам в папке загрузок.
  • Генерация уникальных имен для загружаемых файлов во избежание коллизий и перезаписи.
  • Валидация всех входящих данных от пользователя.

Технический стек

  • Основной язык: PHP (чистый или в рамках указанного фреймворка, если применимо).
  • Допустимо использование библиотек для обработки изображений (например, GD или Imagick).
  • Front-end: HTML, CSS, JavaScript (для улучшения UX, например, предпросмотр перед загрузкой).

Ожидаемый результат

Готовый, протестированный модуль, интегрированный в существующую или новую систему пользовательских профилей. Код должен быть хорошо структурирован, прокомментирован и готов к развертыванию.

Комплексная доработка и оптимизация сайта на WordPress

Требуется выполнить техническую доработку существующего сайта на WordPress. Основные задачи: исправление ошибок, повышение скорости загрузки и улучшение адаптивности под мобильные устройства. Техническое задание будет уточнено совместно с исполнителем.

Разработка интерактивных анимированных свитков с рандомным контентом

Требуется создать три интерактивных элемента в виде свитков, которые анимированно разворачиваются по клику и случайным образом показывают один из трех заранее заданных текстов. Все свитки в исходном состоянии выглядят свернутыми.

Поиск менеджера по привлечению клиентов для создания карточек товара

Требуется активный специалист для поиска заказчиков, которым нужны услуги по оформлению карточек товаров (описание, фото, характеристики). Обязанности: поиск клиентов, первичные переговоры, передача лидов. Оплата - процент от сделки.