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