Проект

Анализатор страниц

PHP-разработчик

Создадите полноценное веб-приложение, которое выполняет запросы по сети и сохраняет данные в базу данных. Настроите CI и выполните деплой.

2-4
недели

Цель

Анализатор страниц – полноценное приложение на базе фреймворка Slim. Здесь отрабатываются базовые принципы построения современных сайтов на MVC-архитектуре: работа с роутингом, обработчиками запросов и шаблонизатором, взаимодействие с базой данных.

Независимо от используемого способа написания кода, вся веб-разработка (бэкенд) базируется на двух вещах: протоколе HTTP и клиент-серверной архитектуре которые изучаются в соответствующих курсах. Любое обращение к сайту это HTTP-запрос, а результат который мы видим – это HTTP-ответ. Эти понятия составляют основу любого фреймворка и изучаются в первую очередь. В свою очередь роутинг завязан на методах HTTP и использует их для формирования конкретных маршрутов. Часто на собеседовании спрашивают: "Что происходит, когда пользователь набирает в браузере адрес сайта и нажимает Enter?". После проекта ответ на этот вопрос станет очевидным из собственного опыта.

Код - это только часть сайта. В конечном итоге имеют значение данные, которые лежат в базе данных. А для этого её сначала нужно правильно спроектировать. Здесь понадобятся знания нормальных форм и принципов построения отношений между сущностями. Сам SQL-код для создания структуры базы данных генерируется с помощью миграций, но в этом проекте мы не будем их использовать. Для выполнения SQL-запросов к базе данных воспользуемся встроенной библиотекой — PDO.

И даже бэкенд разработка не может существовать без фронтенда. У любого сайта есть стили. В этом проекте предстоит познакомиться с Bootstrap и использовать его компоненты для визуального оформления.

Кроме кода сайта, веб-разработка включает в себя важные инфраструктурные элементы: для запуска сайта нужен веб-сервер и установленная база данных. В свою очередь работа по сети опирается на базовое понимание работы протокола TCP и знакомство с понятием IP-адреса и порта. Со всем этим придётся столкнуться в процессе разворачивания локального окружения.

Когда сайт готов, его нужно выложить в публичный доступ или, как говорят программисты: "задеплоить в продакшен". Выкладка готового кода - неотъемлемая часть разработки. Существует множество различных подходов и требований к тому как это делать эффективно. В этом проекте отрабатывается наиболее автоматизированный способ, с помощью сервиса Render.com. Это хостинг, работающий по модели PaaS (платформа как сервис), он сам отвечает за инфраструктуру и требует определённого способа организации кода для обеспечения масштабируемости.

Описание

Page Analyzer – сайт, который анализирует указанные страницы на SEO пригодность по аналогии с PageSpeed Insights

Проект Хекслета Анализатор страниц Анализатор страниц Анализатор страниц

Наставники

Аватар наставника Александр Пупышев
Александр Пупышев
Разработчик из Сибири. Программированием увлекается со школы. Учился на факультете «Инновационных технологий», пишет на PHP, Go, C#, JS. Ведущий разработчик финтех-продуктов в RoboFinance
Аватар наставника Всеволод Лобода
Всеволод Лобода
В разработке более 5 лет. Делал windows desktop приложения на C# и веб-приложения на PHP и Node.js. Помимо программиста есть опыт работы на позиции менеджера проектов, что позволяет понимать все процессы разработки
Аватар наставника Захар Стебловский
Захар Стебловский
Пришёл в программирование из интернет-маркетинга. Не понаслышке знает, что такое менять сферу деятельности. Разрабатывал B2B-софт для авторынка. На данный момент бэкенд-разработчик в Ulindr Limited
Аватар наставника Олег Агеев
Олег Агеев
Почти 15 лет в веб. Ас по PHP, знаком с Python, Go, Java и JS. Самостоятельно проектировал инструменты службы поддержки и систему модерации контента Fotostrana, систему рассылки IQ Option, хранилище истории биржевых котировок

Впечатления

Аватар пользователя Антон Томин
Антон Томин 02 апреля 2019

Кирилл, большое спасибо за проект!

Кстати в этом проекте никто так далеко не заходил как ты)

Видимо благодаря волшебным пинкам из за конечных автоматов))) Мозг взорвался немного - за это отдельное спасибо!

Сколько стоят проекты?

Проекты входят в стоимость обучения на любом плане: самостоятельном, групповом и индивидуальном. Дополнительно платить не нужно.

Зачем проходить проекты?

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

Проекты — портфолио программиста. Их код останется в вашем аккаунте на GitHub и будет преимуществом при поиске работы.

Чтобы узнать о том, что такое проекты и в чём их польза, прочитайте нашу статью «Анатомия проектов Хекслета».

Что делать, если возникли трудности во время выполнения проекта?

Задавайте вопросы в разделе «Обсуждение» на странице шага, на котором возникли трудности, или вашему наставнику. Изучите вопросы других студентов в «Обсуждениях»: там собрана большая база знаний, ей можно и нужно пользоваться.

Кто проверяет проекты?

Автоматизированные тесты и линтер. В групповом и индивидуальном форматах наставник дополнительно проверит то, что тестами проверить невозможно (архитектуру проекта, правильность именования, удачность решений), и проведёт код-ревью, чтобы сделать проект ещё качественнее.

У меня другой вопрос

Нажмите на виджет в правом нижнем углу экрана и поищите ответ в нашей справке. Или сразу пишите на support@hexlet.io — вам ответит живой человек из команды Хекслета.