Задача: написать небольшой по функционалу сайт с очень-очень высокой производительностью. Всего лишь 1 запрос к БД и генерация Web-страницы. Так как требуется обрабатывать большое количество одновременных запросов, поэтому предлагается использовать чистый PHP, без фреймворков. Самое важное требование: очень быстрая скорость генерации страниц и отрисовки в браузере. Контент и функционал сайта: Структура сайта здесь – miro.com/app/board/uXjVOE... Пегинация (“листалка” страниц) Поиск по сайту (только по одному полю из базы, на котором будет стоять индекс, поэтому должно быстро и легко работать) Страница ошибки 404 Страница ошибки 500 (например, если отвалилась база данных) Генерация Sitemap (или генерировать статичные файлы или генерировать “на лету”, решим как лучше) Правильно размеченный HTML-код для SEO (meta теги и прочее) Выложить файлы – robots.txt, favicon.ico Выложить статичные HTML страницы — лицензионное соглашение, инструкция как удалить приложение Разместить PopUp с информацией про сбор Cookie (чтобы соответствовать требованиям GDPR) Скачивание EXE и ZIP-файлов (проксировать через наш сервер, чтобы скрыть настоящий URL) Подготовка: Настроить 2 окружения на GitLab: Production и Development. Должен делаться авто-деплой в нужное окружение, в зависимости от того, в какую ветку GitLab был сделан коммит. Это должно работать из коробки на DigitalOcean App Platform, но я должен был об этом написать сразу. Требования к бэкенд: Чистый PHP, без использования фреймворков (никакого Laravel, но легковесные библиотеки использовать можно, чтобы не пилить свои велосипеды) Возможно, выбрать шаблонизатор (нужно, чтобы можно было легко переключаться на другие дизайны с абсолютно другой вёрсткой) Хостинг бэкенда в DigitalOcean (локация: США) PostgreSQL в качестве базы, будет размещена на DigitalOcean GitLab для хранения кода и релизов Роутинг страниц (в простом варианте можно передавать параметры через GET, но намного лучше будет реализовать ЧПУ) Требования к фронтенд: Использовать легковесный UI фреймворк (Bootstrap или UIKit), подключать без компиляции Добиться максимально быстрой отрисовки страниц в браузере Поддержка всех возможных размеров экранов (в том числе мобильных) Решить, что делать с вёрсткой (заказать у кого-то, найти на Template Monster или собрать из UI фреймворка) Базовая оптимизация базы данных: Правильно расставить индексы Провести простенькое нагрузочное тестирование Провести профайлинг долгих запросов Перед релизом в продакшен: Убедиться, что домен куплен и настроен Подключить домен на работу через Cloudflare Установка счётчиков: Google Analytics Google Tag Manager Google Optimize Google Seo Console Bing Seo Console Yahoo Seo Console Процесс приёмки, что будет считаться выполненным “проектом”: Скорость загрузки и отрисовки соответствует требованиям Сайт выложен в продакшен (доступен на домене) Сайт успешно подключен к Google Seo Console

Похожие

Посмотрите другие вакансии

Вот самые похожие вакансии

Новый поиск