
Начнем писать код
В предыдущей статье я выделил несколько положительных сторон создания личного блога и подчеркнул ценность разработки ядра с нуля для получения дополнительного опыта. Это решение привело меня к реализации собственного сайта. В этой статье я хочу подробнее рассказать о дорожной карте сайта, его текущем состоянии, используемых инструментах и полученном опыте.
Начнем с общей цели. В начале реализации мой опыт выглядел следующим образом:
- Базовый или средний уровень JavaScript
- Уверенное знание Angular
- Сильные навыки backend-разработки
- Средний уровень знаний баз данных
- Знакомство с облачными сервисами
После завершения этого проекта я хочу получить следующий набор навыков:
- Средний или продвинутый уровень JavaScript и Angular
- Средний или продвинутый уровень Containers/Kubernetes
- Средний уровень CI/CD
Чтобы достичь этих целей, я составил дорожную карту. Первый шаг - построить ядро блога, что вполне достижимо для MVP. Минимально жизнеспособный продукт должен уметь читать статьи из базы данных и показывать их пользователям. Но это только начало. После реализации MVP нужно будет выбрать облачного провайдера для развертывания, продумать тестирование и мониторинг, а также определить дополнительные функции.
Когда MVP готов, появляется множество возможностей. Функциональность можно вынести в отдельные репозитории и переосмыслить, например как Azure Functions или самостоятельные Docker-образы. Хранение этих образов в Docker-репозитории позволит разворачивать их в Kubernetes-кластере.
Pipeline - еще один важный вопрос. В идеале при каждом коммите должны запускаться различные тесты, затем создаваться образ и отправляться в Docker-репозиторий, а возможно даже выполняться автоматическое развертывание на staging.
Идеи, описанные ниже, безусловно интересны с точки зрения разработки. Это соответствует мысли, упомянутой ранее: в собственных проектах мы можем выбирать самые интересные задачи и выходить за рамки рутины. Такая свобода мотивирует меня как разработчика и помогает снижать риск выгорания.
Теперь обсудим текущий статус проекта: MVP успешно реализован. В нем есть небольшое API, которое предоставляет статьи блога и другие данные, а также аккуратный frontend на Angular. Кроме того, я потратил время на создание Docker-образа, и этот вопрос планирую подробнее разобрать в следующих материалах.
Спасибо за чтение.