
О чем будет курс
Мы научимся разрабатывать крупные Node.js TypeScript приложения.
Вы – Backend-ер, Team lead или Project manager с командой, которая пишет современные Node.js приложения и вы хотите, чтобы вся команда умела:
- ⚡️ Быстро добавлять новые фичи
- 🤸🏽♂️ Писать гибкий к изменениям код
- 🩹 Быстро обнаруживать и «безвозвратно» чинить баги
- ☺️ Получать удовольствие от кодинга
Тогда этот курс для вас.
Удовольствие от кодинга – это осознанное и быстрое написание функционала, который поддается дальнейшему масштабированию и устойчив к багам.
Дополнительно хочу отметить, что данный курс поможет вашей команде:
- 👼 Быстро вводить в процесс новых разработчиков.
- 🍩 Покрывать код тестами, даже когда «все горит».
- 🎩 Правильно использовать TypeScript
- 📄 Писать понятную и удобную документацию
- 🔥 Выйти за рамки CRUD и MVC
И если вам все это не интересно, то как минимум я смогу показать вам «другой» подход к разработке, а вот что и как из него использовать, решать уже Вам самим.
Что будем делать
Мы напишем реальное Node.js TypeScript приложение.
Разберем вопросы:
- Как структурировать проект? Какую архитектуру выбрать?
- Как писать независимые друг от друга модули?
- Как не тратить вечность, но покрыть самое важное тестами?
- Как удобно работать с разными БД?
- Как проектировать API? Что есть кроме REST / CRUD?
- Как уйти от JS к TypeScript?
- Как действовать когда нет Framework?
- Как не избивать джунов при каждой регрессии?
- Что делать если MVC уже недостаточно?
И многое другое.
Вы получите
- 📖 Конкретный набор правил (регламентов), к которым всегда можно вернуться, чтобы найти ответ на важный вопрос.
- ⚙️ Примеры кода в статьях.
- ⛓ Ссылки на кучу полезных материалов по теме.
- 📼 Видео, в которых я рассказываю и показываю примеры реализаций.
- 🕸 А также пример Open source проекта.
Что такое DDD Light?
Domain Driven Design (DDD) – это опыт лучших решений множества архитекторов и разработчиков, которые сталкивались с одними и теми же проблемами из-за роста их проектов.
Основная задача DDD – снизить сложность внедрения нового функционала и модификации существующего с ростом приложения.
Данной концепции достаточно лет, но очень редко можно встретить проекты, которые его используют. Особенно на JS / TS.
Почему?
Во-первых, самого DDD недостаточно для современных проектов. За последнее время появилось множество концепций, которые решают проблемы, опущенные в DDD.
Во-вторых, DDD в чистом виде слишком сложный, чтобы применять его даже на среднего размера проектах.
В-третьих, DDD очень распространен в кругах C# и Java разработчиков, а эти долбанные жиды не любят делиться с другими разработчиками, поэтому примеры проектов на других языках очень сложно найти.
Я хочу решить эти проблемы.
И для этого я выделил самые основные концепции из DDD и всех последующих развитий его идей и назвал это Domain Driven Design Light (DDDL).
Именно в стилистике DDDL мы и будем с вами разрабатывать проект в этом курсе.
!Важно! Вам не нужно знать что-либо о DDD, чтобы начать этот курс. Даже наоборот: я буду подавать материал таким образом, что без абсолютно каких-либо знаний вы постепенно ознакомитесь со всеми особенностями DDD.
Если же вам не терпится узнать что такое DDDL, то прошу: «DDDL. Что это и зачем это?» – если вы ничего не поймете, не страшно, поймете по окончании курса.
Об авторе

Больше информации обо мне здесь.
Меня зовут Давид Шекунц. Последние 6+ лет я занимаюсь разработкой IT-проектов: от программиста-фрилансера до основатель агентства и стартапа в агропромышленности.
Основной стэк: Golang, Node.js, TypeScript и React на фронте.
Сколько это стоит
Я считаю, что все ПО и знания должны быть Open Source-ными, поэтому курс будет бесплатным!
Но мне нужна помощь: подписывайтесь, приглашайте коллег на мой канал, ставьте лайки – каждый новый подписчик добавляет мне мотивации сделать курс круче.
Если будет достаточно людей (300 человек в августе 2020), то кроме статей я начну снимать и ролики по урокам.
Зачем я это делаю
Я часто работаю с внешними командами или собираю свои. И чтобы каждый раз мне приходиться рассказывать и обучать людей всем этим концепциям заново я собираю их в одном месте. Так мы с новыми ребятами будем быстрее понимать друг друга.
Во-вторых, я надеюсь, что смогу поделиться полезным знанием с людьми, которые тоже встали на грешный путь поиска чего-то за пределами стандартного MVC.
В-третьих, данный курс является частью моего курса «LVL 👆 UP», во время которой я вживую обучаю приемам создания крупных Node.js приложений и концепциям из DDD Light.
Что нужно для начала
Нужен минимальный опыт в бою будет достаточно:
- 1-2 приложения на Node.js
- Знание основ TypeScript (ну, хоть какой-нибудь интерактивный курс посмотреть)
- Пониманием что такое MVC
- Гнетущее чувство неполноценности
Мне повезло, что я на момент начала изучения у меня все это было: уже написал по одному production приложению на Laravel, Yii2, SailsJS, RoR, Django и писал на чистом Golang и NodeJS.
И когда я двинулся от Django к NodeJS, я осознал боль отсутствия Framework с экосистемой и решил узнать: «А как же тогда забугорные люди пишут enterprise на Node?» — и вот пришел я к DDDL.
Что будет в конце
А в конце, у вас будет достаточно опыта и инструментов, чтобы проектировать и разрабатывать супер сурьёзные Node.js & TypeScript приложения.

Что дальше?
(1) Для начала подписывайтесь на мой Telegram канал @davidshekunts_blog , там я буду сообщать о выходе новых уроков.
(2) Буду очень признателен ответам на небольшой бриф. Это ускорит процесс выпуска курса.
(3) И в конце концов, не стесняйтесь написать свое мнение и вопросы мне в ЛС в Telegram @davidshekunts.
Я всегда за диалог и любую аргументированную позицию (если она не призывает меня сосать писюн)
Когда начало
Начало выпуска уроков июль-август 2020.
А пока вы ждете
Можете ознакомиться с источниками, откуда я все пізжу вот по этой ссылке.
Там и про DDD, и про разные реализации, и примеры проектов.
Спасибо за внимание! Все вопросы, а также пожелания можете писать в ЛС @davidshekunts.