Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.
Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
Разработка этого проекта позволила мне значительно улучшить навыки dev-ops, т.к. для ci/cd мне ранее уже приходилось использовать self-hosted инструмент Jenkins, но именно на этом проекте я и сам Jenkins, и облачный агент сборки обернул в docker для использования эфимерных сред при деплое - чтобы ресурсы сервера именно на ci/cd использовались бы по большей части только во время непосредственно интеграции и доставки. Само же веб-приложение благодаря полному его оборачиванию в монорепо и docker (бэкенд и фронтенд со staging + standalone mode для максимальной экономии дискового пространства сервера на хранение docker-образов и кэша сборок) деплоится каждый раз как с чистого листа, избавляя от всевозможных коллизий от артефактов предыдущих сборок.
Благодаря всесторонней помощи Дмитрия по обсуждению бизнес-логики и соответствующих сущностей, удалось спроектировать очень гибкую, функциональную и подготовленную с помощью балансировщика к кластеризации базу данных на основе Postgres, схему которой мы проектировали с использованием позволяющего хранить её в репозитории, а также просматривать онлайн несколькими участниками сервиса dbdiagram.io - далее экспортируя в Prisma. На проекте Planomer я наконец-то научился хранить схему БД Prisma отдельно от бэкенда и фронтенда, но импортируя её внутрь них в качестве интерфейсов бизнес-моделей - вместе с общими для бэка и фронта валидаторами форм + всеми необходимыми общими типами, т.к. код всего приложения хранится в одном монорепо, но любые отдельные его составляющие - инфраструктурные конфиги, либо бэкенд, либо фронтенды, да хоть вышеупомянутые общие для них модели и валидаторы данных - всё это при желании хранится в отдельных репозиториях и собирается воедино с помощью gitmodules.
Остался доволен я и своевременной поэтапной оплатой напрямую на мою банковскую карту, а также открытостью Дмитрия к переходу на различные способы оплаты, к расширению команды разработчиков, к формированию процесса разработки исходя из реалий текущего этапа разработки, т.е. когда необходимо вносить коррективы в план разработки проекта.