Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задача: написать небольшой по функционалу сайт с очень-очень высокой производительностью. Всего лишь 1 запрос к БД и генерация Web-страницы. Так как требуется обрабатывать большое количество одновременных запросов, поэтому предлагается использовать чистый PHP, без фреймворков.

Самое важное требование: очень быстрая скорость генерации страниц и отрисовки в браузере.

Контент и функционал сайта:

Структура сайта здесь – https://miro.com/app/board/uXjVOEb5thE=/

Пегинация (“листалка” страниц)

Поиск по сайту (только по одному полю из базы, на котором будет стоять индекс, поэтому должно быстро и легко работать)

Страница ошибки 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

2 года назад
DriverPack
Сэм 
44 годаРоссия
2 года в сервисе
Был
2 года назад
Выбранный исполнитель
monkeymma
30 летУкраина
2 года в сервисе
Была
2 года назад
2 года назад
$350
8 дней
UAH