Создайте проект fullstack с помощью Node.js, PostgreSQL, SQL, React, Redux! API, аутентификация и многое другое!
Это тот курс, который вам нужен, прежде чем стать инженером. Это тот курс, который был мне нужен, прежде чем я стал инженером-программистом, работающим в центре города в Сан-Франциско. Он преподает понятия, которые я применяю на практике каждый день. Крайне важно понять весь полный стек.
Но пока я самообучался, все ресурсы были распределены. Все они были в разных местах. Мне нужно все это в одном месте. Мне нужно, чтобы все было в одном проекте. Это и есть цель этого курса.
Этот курс - это избранные моменты месяцев (лет фактически) исследований. Изучение информатики в колледже. Работа над проектами в качестве инженера-программиста. Все в одном месте. В одном всеохватывающем проекте.
Функционально-ориентированный, как и индустрия
Проект в этом курсе отражает проекты, над которыми вы будете работать в отрасли.
Я также структурировал разработку проекта, чтобы отразить, как приложения создаются в отрасли. Вы разработаете свой проект с полным стеком, точно так же, как растут проекты в реальном мире. Вы будете ориентированы на функции.
Вы будете создавать проект по одной функции за раз - постоянно совершенствуя программное обеспечение и отправляя пользователям. Это отличается от других курсов, ориентированных на архитектуру. Значит, вы не будете строить весь бэкэнд, а затем переходите ко всему интерфейсу. Вместо этого каждая новая функция будет включать в себя все аспекты архитектуры полного стека.
Проект DragonStack
Что такое проект DragonStack?
Проект Dragonstack - это приложение для сбора коллекций с несколькими учетными записями для сбора драконов. Вы можете торговать, покупать и разводить своих драконов! Продавая драконов, вы зарабатываете валюту. Или, если другая учетная запись использует ваш дракон для своих спариваний, вы также получаете валюту. Каждый дракон имеет уникальные черты и принадлежит к определенному поколению.
Это приложение отличается. Это не Facebook, ни Twitter-клон. За этими более крупными приложениями, такими как Facebook и Twitter, вы познакомитесь с концепциями, которые вы узнаете в этом курсе. Но вы будете использовать эти концепции для создания чего-то уникального. Если вы уже инвестируете время, чтобы изучить полный стек, я хочу, чтобы вы делали что-то, чего еще не делали раньше. Таким образом, вы узнаете, как применять эти концепции для инноваций.
С нуля
В этом курсе вы будете строить все с нуля. Вы возьмете на себя все уровни полного стека. Вы не будете использовать отдельные API для этих функций.
1. Вы создадите API. Конечно, вы можете узнать о веб-запросах, используя публичный API. Но для того, чтобы полностью узнать, как работают эти API-интерфейсы веб-запросов, вам необходимо создать их самостоятельно.
2. Вы будете полностью контролировать базу данных. Вы не будете полагаться на библиотеку, чтобы управлять базой данных для вас. Вы не будете относиться к базе данных как к магии. Нет, у вас будет полный контроль над SQL.
3. Вы создадите систему аутентификации. Аутентификация - это простой шаг для пропусков во время обучения. Это критическая концепция, чтобы понять. 99% приложений, которые вы делаете или работаете, будут иметь базу учетных записей.
С нуля - основная философия курса. Помимо создания API с нуля, вы создадите полный бэкэнд. Это будет включать в себя сервер и основные файлы базы данных. Кроме того, вы создадите полный интерфейс, используя современную и очень широко используемую библиотеку React.
Полная картина, основанная на концептуальном понимании
Когда вы работаете с новыми технологиями, вам необходимо увидеть полную картину. Поэтому в этом курсе вы узнаете больше, чем просто код в Node.js, PostgreSQL, React и Redux. Кроме того, вы получите понимание дизайна, моделей и идей, лежащих в основе этих технологий. Вы узнаете, как компании применяют эти технологии к своим проблемам. Основываясь на концепциях, вы сможете увидеть, как каждый слой вписывается в полный стек.
Практический опыт
Просто потому, что этот курс уделяет большое внимание концепциям, не означает, что вы не сможете погрузиться в код как можно скорее. Этот курс также фокусируется на практическом опыте. В конце концов, концепции только усиливаются, когда вы на самом деле применяете их и создаете программное обеспечение!
К концу курса у вас будет много опыта работы с технологиями. Я не сомневаюсь, что вы сможете уверенно добавлять Node.js, PostgreSQL, React и Redux в свое резюме. Кроме того, у вас будет впечатляющий проект полного стека в вашем портфеле, чтобы это доказать.
Не говоря уже о том, что вы можете выполнить многие из заключительных задач курса, чтобы сделать ваш проект курса самым уникальным и продвинутым.
Проблемы
Это не тот курс, в котором вы будете слепо следовать за мной. Проблемы дадут вам возможность реализовать следующую функцию самостоятельно - подкрепляя ваши знания, руководствуясь собственным опытом.
Как уже упоминалось, есть также список проблем конечного курса. Они выходят за рамки курса. Но это те, которые сделают ваш проект действительно выдающимся.
Простота
Помимо обучения веб-разработке с полным стеком и его основных технологий, основной акцент в этом курсе заключается в создании кода с простотой. Независимо от того, какую технологию мы вводим, мы обеспечим проектирование наших классов и построение наших функций простым способом.
Просто потому, что что-то легко и быстро, это не значит, что это правильно. Иногда простое решение на самом деле является ярлыком, который потребует еще большей работы для исправления позже.
Наше определение простоты является особенностью. Насколько это возможно, мы сделаем наши функции простыми, однократными и единственными по назначению. Мы не хотим, чтобы наши функции имели огромное количество побочных эффектов, которые вносят ненужную сложность в наше приложение.
Масштабируемость
Простота является предпосылкой для масштабируемости. Поскольку вы будете писать функции простым способом, вы обнаружите, что сможете быстро добавить новые функции в приложение. Первоначальные затраты на разработку самого простого дизайна платят огромные дивиденды за масштабируемость.
Прогресс в Dragonstack
Ваш прогресс с проектом dragstack будет следовать экспоненциальной кривой. На протяжении всего курса графики показывают ваш прогресс в этом курсе. Будет начальный период нарастания. Однако, как только вы пройдете мимо горба, ваш темп начнет стремительно расти. Оставайтесь решительными, чтобы получить этот импульс. Это одно из лучших ощущений, когда вы едете на этой автостраде производительности.
Требования
- Для этого курса требуется некоторый опыт программирования. Этот курс не является интро для программирования.
- Опыт Node, PostgreSQL, React и Redux НЕ требуется. Все эти понятия будут объяснены с самого начала.
- Рекомендуется использовать JavaScript. Этот курс познакомит с JavaScript и объяснит каждую строку. Однако, как только ключевое слово было введено, курс предполагает, что вы знакомы с концепцией. Основное внимание уделяется концепциям полного стека, а не изучению JavaScript в первый раз.
- Некоторый опыт работы в командной строке рекомендуется, но не обязательно. Этот курс имеет краткий пересмотр принципов командной строки, и мы будем использовать только основы. Но чем комфортнее вы в командной строке, тем лучше.