Самый большой и подробный курс на русском языке (35 часов) по созданию полного fullstack веб приложения c авторизацией и защитой

Весь проект поделен на части, которые вы можете использовать в своих приложениях. Например полностью скопировать функционал авторизации и защиты.

1) Frontend: Angular UI, TypeScript, RxJS
2) Backend: Spring/Hibernate, Java, RESTful
3) Авторизация и пользователи: JWT/RESTful
4) Развертывание и доступ: хостинг Heroku
5) Безопасность и локализация: CSRF, XSS, CORS
6) База данных: PostgreSQL

Время на изучение: ~ 2.5-3 месяца (35 часов видео)
Материалы и исходные коды обновлены: апрель 2021 г.

Попробовать весь функционал онлайн >
(нужно будет пройти регистрацию и активировать аккаунт - это тоже часть функционала)

Тренинг с возможностью прохождения в любое время


Вы можете проходить этот курс/тренинг в любое удобное для вас время и задавать преподавателю вопросы на онлайн-вебинарах или на форуме. Здесь нет строгой отчетности и расписания.


У всех учеников свои условия и скорость обучения (работа, семья, дети) - поэтому я решил не ограничивать никого и дать вам возможность гибкого обучения с полной поддержкой. Даже если вы приступили к курсу через год после его покупки - все равно для вас действуют все опции.


Но в отличие от обычных эл. видеокурсов - этот курс - классический тренинг, т.к. в него включены поддержка, участие в онлайн вебинарах с другими учениками, бОльший объем материалов и многое другое.

Основная цель


Основная цель - чтобы вы научились создавать полноценное fullstack приложение, начиная от backend/frontend и заканчивая авторизацией + всеми настройками безопасности.


Когда я изучал эти темы - приходилось собирать информацию в интернете по крупицам - на это ушло очень много времени. У вас есть возможность получить все это в одном месте.


В данный момент в интернете я пока не видел ничего подобного - везде выполняют либо маленький проект, либо освещается отдельная тема.

Это уникальный курс, аналогов которому сейчас нет в интернете.

Об авторе

Батыршинов Тимур, 35 лет: основатель обучающего центра «JavaBegin». Главный тренер.

За 8 лет обучил более 51000 человек (онлайн и оффлайн).

Опыт разработки — более 15 лет.

Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, Angular и многие другие.

В данный момент занимаюсь обучением и консалтингом.

Что нужно знать
для изучения курса

Чтобы материалы усваивались легче,
желательно иметь базовые знания Java/HTML/CSS/БД.

С полного нуля стартануть не получится.

01.

Java/HTML/CSS

Если у вас нет минимальных знаний Java или как создавать веб страницы в HTML - сначала надо получить фундамент, т.к. в этом курсе мы не будем "разжевывать" азы. Материалы для новичков HTML:
https://www.w3schools.com/html/
Также пройдите Уроки Java

02.

БД/SQL

У вас должен быть опыт создания хотя бы небольших БД с несколькими таблицами, связями и пр. В курсе вы будете с нуля создавать БД на PostgreSQL, применять SQL запросы, использовать менеджер pgAdmin
https://www.w3schools.com/sql/

03.

Опыт в Java/Web

Что такое веб страница, браузер, url - эти элементарные понятия у вас должны быть. Если вы создавали веб приложения на другом языке - это поможет в изучении
Если у вас "нулевой уровень" - вам еще рано. Бесплатные материалы на эту тему

Какие темы включены в материалы?

Frontend на Angular/TypeScript

Разработка всего клиента будет идти во фреймворке Angular, который предоставляет большие возможности "из коробки".

Backend на Spring/Java

Весь серверный код создается на Java с добавлением технологий SpringBoot, Hibernate, Data JPA и многие другие

Локализация приложения

Переключение языка "на лету" с помощью настроек. Хранение переводов в формате JSON на всех языках.

Аутентификация и авторизация

Специальный формат токена для аутентификации пользователя. Все RESTful запросы будут авторизовываться с помощью JWT (JSON Web Token).

Работа с пользователями

Полный цикл работы с пользователями (активация, сброс пароля, login, logout и пр.).

БД PostgreSQL

Специальный формат токена для аутентификации пользователя. Все RESTful запросы будут авторизовываться с помощью JWT (JSON Web Token).

Распределение по ролям с доступами

Каждому пользователю можно присвоить определенную роль, для которой будут открыты или закрыты некоторые страницы/компоненты

Защита от атак (CSRF, XSS)

Применение общих практик для защиты от популярных атак. С учетом технологий Angular и RESTful

Работа с куками SameSite

Какие значения выставлять для флага в различных ситуациях - применение на проекте для защиты веб запросов.

Защита при межсайтовых запросах с помощью CORS

Доступ к backend только с определенных адресов для безопасности.

Отправка писем пользователям с помощью SpringMail

Готовая технология для отправки писем пользователю (активация, сброс пароля, регистрация)

Тестирование приложения в популярных браузерах и ОС

Любой веб проект нужно тестировать во всех средах (Windows, macOS, Chrome, Firefox, Safari, Opera, Edge).

Мобильная верстка приложения

Верстка страниц под небольшие экраны, устройства, покрытие функционала. Тестирование на реальных устройствах.

Применение прокси для распределения запросов

Как правильно применить прокси, чтобы все запросы отрабатывали корректно на клиенте.

Генерация SSL ключей

Для локальной разработки потребуется создать тестовые ключи и добавить к ним доверие в ОС и браузерах.

Доступ к приложению через интернет

Как правильно настроить приложение, чтобы к нему мог обращаться по интернету любой человек

Применение защищенного канала HTTPS

Шифрование данных с помощью HTTPS, чтобы защититься от злоумышленников.

Запуск параллельных процессов с помощью Spring

Как быстро создать параллельный процесс на Spring (пример на основе отправки письма).

Роутинг и работа с запросами

Навигация и перенаправление запросов в зависимости от ответов backend.

Профилирование настроек для Spring Boot

Одновременная разработка для тестового и боевого сервера, разделение настроек на профайлы.

Работа с формами Angular

Валидация, доработка форм, которые заполняется пользователь (регистрация, логин-пароль)

Последовательность изучения

На прохождения тренинга уйдет примерно 3 месяца: это средний срок, если заниматься каждый день по 3-4 часа. Материалов очень много и важно все выполнять последовательно.

  • Создание БД PostgreSQL

    Создание всей структуры БД, таблиц, связей, ограничений, индексов, триггеров и пр.

    1 неделя

  • Создание backend (сервер)

    Реализвация RESTful сервисов на SpringBoot, запросы в БД, обмен данными в формате JSON, создание всего API

    3 недели

  • Авторизация и безопасность

    Применение JWT для аутентификации, авторизации. Добавление уровней безопасности, чтобы RESTful запросы могли выполнять только авторизованные пользователи.

    3 недели

  • Создание frontend на Angular

    Реализация UI на основе Angular/TypeScript - применение дизайна, компонентов и многое другое. В конце блока будет готов весь внешний вид приложения с учетом безопаности.

    2 недели

  • Развертывание приложения на хостинге Heroku

    Как установить приложение, чтобы к нему мог обращаться любой пользователь из интернета.

    1 неделя

Какое приложение вы создадите?

Видеодемонстрация приложения
(нажмите Play и разверните на весь экран)


ОТКРЫТЬ ПРИЛОЖЕНИЕ ОНЛАЙН
(возможна загрузка до 20 сек)

* Посмотрите вживую как работает приложение

Какие технологии
будете использовать

Angular

Основной фреймворк, в котором будет создаваться все приложение. Предоставляет готовые решения для создания как небольших, так и крупных веб приложений.

HTML, CSS

Отображение веб страниц и добавление стилей, селекторов, отладка кода в Google Chrome, добавление анимации

TypeScript

Язык разработки, основанный на Java Script, но более строгий и типизированный. Будете изучать сразу по ходу создания приложения на практике

Bootstrap

Разметка страницы, создание responsive дизайна, использование сеточной системы и готовых селекторов CSS.

RxJS

Реактивный стиль создания кода, который поддерживается в Angular сразу "из коробки" - асинхронные вызовы, уменьшение кода. 

Git/GitHub

Хранение версий кода/проекта в локальном и удаленном репозиториях, связывание со средой IntelliJ IDEA Ultimate

IntelliJ IDEA Ultimate

Среда разработки (можно trial-версию), которая поддерживает Angular и TypeScript: подстановка кода, рефакторинг, генерация и многое другое..

Мобильная верстка

Любое веб приложение должно уметь открываться на мобильных устройствах и корректно отображаться (компоненты, разметка)

JSON Web Token

Формат для передачи данных аутентификации, авторизации, ролей - добавляется к каждому веб запросу на backend.

Java

Язык разработки backend - типизированный и с поддержкой ООП. Вы будете создавать на нем весь серверный код.

Spring

Самый популярный Java фреймворк, который умеет практически все: доступ к данным, обработка запросов, внедрение объектов и пр.

Hibernate

Промежуточный слой между вашим кодом и базой данных. Нужен для того, чтобы работать с таблицами БД как с объектами, а не создавать вручную SQL запросы.

БД PostgreSQL

Современная бесплатная база данных для любых типов проектов. Одна из самых популярных на данный момент.

Хостинг Heroku

Доступ к вашему приложения может получить любой человек через интернет.

SSL/HTTPS

Шифрование канала для безопасной передачи данных, применяется в любом крупном веб приложении.

Авторизация с помощью
JSON Web Token (JWT)

JWT (JSON Web Token) - это современный механизм обмена данными для работы с пользователем (login, logout и пр.)

Вы будете строить для каждого запроса специальный формат JSON, в котором будет находиться вся служебная информация. Также, после каждого удачного входа будете получать уникальный токен (набор символов) для текущей сессии.

Многие разработчики не совсем верно используют эту технологию, позволяя хакерам получить данные (пароль, логин). Вы будете это реализовывать максимально безопасно.

Защита приложения:
CSRF, XSS, CORS, proxy

Мало создать веб приложение - нужно еще и правильно защитить его. Многие новички даже не задумываются об этом, хотя это обязательное требования в любом крупном приложении.

В этом курсе вы сразу будете учитывать возможность различных атак (CSRF, XSS) - всю защиту будем строить как на backend, так и на frontend. Также - обязательно будете использовать флаг SameSite для правильной работы браузеров.

Важная особенность - в интернете много обучающих материалов на эту тему, по почти все они неверны, т.к. допускают одну и ту же ошибку, из-за которой можно получить все данные пользователя. Вы будете все делать по правильному - максимально безопасно с применением прокси сервера.

Письма пользователю:
активация, сброс

Все действия с пользователем будете выполнять с уведомлением: активация, сброс пароля, регистрация и любые другие действия.

Для работы с почтовым API - используется готовая библиотека Spring Mail, которая имеет гибкие настройки и многое другое.

Что содержится в уроках

Материалы состоят из различных типов: видео, ссылки, текст, исходные коды - все это комбинируется для лучшей подачи материалов.

Чтобы вам было легче повторять пройденный материал - основной упор будет идти на текст, дополнительные важные нюансы - на видео.

Важный момент - доступ только онлайн (чтобы у вас всегда была обновленная, актуальная информация)

Текст, изображения

Основной носитель информации будет в виде текста (похоже на статью). Так вам легче будет повторять материал (не нужно перематывать видео) .

Видеоуроки

Для визуальных данных - можно смотреть небольшие видео по ходу урока, чтобы представлять как это работает - чтобы наглядно все понимать.

Исходные коды

Готовые исходники, которые можно открыть и запустить - на них нужно ориентироваться при изучении материалов.

Вопросы

Доступ к материалам и поддержке - неограничен. Можете изучать и возвращаться к урокам в любое время.

Да, сможете изучать на любом компьютере, независимо от операционной системы. Можно даже смотреть видео на мобильных устройствах, но сам код придется создавать на компьютере/ноутбуке.

Примерно 1-2 месяца - вы будете с нуля создавать весь комплекс технологий - на это нужно время.

Вопросы можно будет задавать на онлайн вебинарах (участвуют автор и ученики), в специальном разделе форума, комментариях к уроку.

Все исходные коды есть, по каждому уроку можно будет открывать в IntelliJ IDEA. Но я рекомендую все равно набирать весь код вручную, чтобы лучше запомнить его.

Вам нужно выбрать комплект курса, нажать кнопку покупки и ввести свои данные. На последнем шаге вы сможете выбрать любой удобный способ оплаты, в том числе из Украины.

Если оплачиваете онлайн платежом (картой или электронного кошелька) или через банк - то конвертация происходит автоматически по курсу вашего банка.

Если оплачиваете наличными (через банкомат или терминал) - нужно выполнить конвертацию самостоятельно. Подробная инструкция находится в способах оплаты.

Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет приходить вам на email.

Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.

Отзывы

Отзывы учеников по различным курсам и тренингам,
какие получили результаты.

Где можно получать поддержку?


Напоминаю, что Вы можете проходить этот курс/тренинг в любое удобное для вас время и задавать преподавателю вопросы на онлайн-вебинарах или на форуме. Здесь нет строгой отчетности и расписания.


Онлайн вебинары - это специальные закрытые комнаты, где собираются все участники и обсуждают свои вопросы - автор на них отвечает. Вам нужен только компьютер или телефон/планшет. Микрофон не обязателен.

Помимо этого - можно задавать вопросы в виде текста на специальном форуме или в разделе комментариев под каждым уроком. Вы сами выбираете удобный вариант. Срок поддержки неограничен


Личный кабинет со всеми материалами

Стоимость

Напоминаю, что это тренинг, а не видеокурс.

Возможность прохождения в своем ритме

Видеоуроки, тексты, домашние задания

Исходные коды, решения дом. заданий

Обновления материалов и исходников

Поддержка автора по всем вопросам

Онлайн вебинары, форум, комментарии

Возможность общения с другими участниками

Доступ к материалам без ограничений

Доступ к GitHub репозиторию с исходниками

 

5 000 р

КУПИТЬ

Хотите индив. поддержку?
Смотрите описание коучинга

ИП Батыршинов Тимур
Сырымгалиевич

ИИН 851110300087