Лекция 1. История Web, трехуровневая модель приложений, MVC
Лекция 2. Методология Agile, состав команды. Диаграммы UML
Лекция 3. Основы Web, шаблонизация, Django
Лекция 4. Базы данных, ER, PostgreSQL. ORM. Админка Django. Курсоры
Лекция 5. Веб-сервис. Swagger. Микросервисы
Лекция 6. Работа в git. Примеры специализированных сервисов - S3, уведомления, очереди
Лекция 7. HTML, CSS, JS. Общие понятия frontend
Лекция 8. React, навигация, TypeScript.
Лекция 9. Ajax, запросы на React
Лекция 10. Redux. WebSocket
Лекция 11. Авторизация, токены, хранилище сессий.
Лекция 12. SSO. Ограничение прав на части приложения.
Лекция 13. Общая лекция про мобильные приложения. Верстка
Лекция 14. Конкретные кейсы с примерами кода. Сетевое взаимодействие.
Лекция 15. Деплой, DevOps, RE
У каждого своя предметная область на весь курс: бронирование отелей, билетов в театр/кинотеатр, онлайн-магазин
Основной вариант лаб по беку - это Django. Но есть ещё варианты на Go, Java, C# и Node.js
При защите необходимо продемонстрировать работу приложения, UML диаграмму, репозиторий github с кодом и ответить на вопросы.
Базовая шаблонизация в Django для словаря. Создание базового интерфейса для просмотра списка (отели, товары, рейсы и тд) с ссылками и частью полей и при переходе по ссылке другая страница с более подробной информацией о товаре. В приложении должны быть использованы стили, для каждого элемента списка подгружается свое изображение.
На выбор Django, Go, Spring, Node.js
Контрольные вопросы: MVC, Django, шаблонизация, HTTP, Web, HTML
Создание базы данных PostgreSQL (MySQL или др), подключение к шаблонизатору. Создание админки. Таблицы: таблица словаря, таблица фактов (с датами и статусом, три даты и менеджер), таблица пользователей
Статусы: введен, в работе, завершён, удалён
ER диаграмма: таблицы, связи, столбцы, типы столбцов и их длина, первичные, вторичные ключи
Контрольные вопросы: ORM, SQL, модель и миграции
Создание веб-сервиса для получения данных из БД. Проверка в swagger/postman.
Диаграмма компонентов+классов: компонент сервиса, интерфейс, структура модели по классам
Контрольные вопросы: веб-сервис, микросервисы, REST API
Базовая лаба по фронтенду. Карточки элементов, typescript, навигация. Автоскрол
На выбор React, Vue
Deployment диаграмма: узлы фронтенда, веб-сервиса, базы данных, web-сервера со статикой
Контрольные вопросы: react
Добавление Ajax-запросов, redux. Подключение фронтенда к веб-сервису
На выбор React, Vue
Sequence диаграмма: получение HTML страницы, AJAX запросы
Контрольные вопросы: AJAX, json
Добавление страницы просмотра для таблицы фактов (корзина товаров, бронирования) и окна добавления. Добавление фильтрации и поиска на странице словаря. Подключение к нужным сервисам.
Activity диаграмма: описание основного алгоритма, разделение на дорожки по элементам системы или ролям пользователей
Таблица пользователей, авторизация, регистрация, хранение сессий, токены. Автозаполнение пользователей в таблице фактов.
Подключение SSO для авторизации пользователей.
Диаграмма компонентов: все компоненты системы с интерфейсами, выделить сервисы данных и авторизации
Создание мобильного приложения с подключением к web-сервису. Просмотр товаров, без бронирования и редактирования.
Добавление роли менеджера контента, доработка под эту роль фронта и сервиса (редактирование таблицы словаря, изменение статусов таблицы фактов, фильтрация фактов). Доработка ролевой модели - ограничение прав на интерфейс
Добавить диаграмму состояний и диаграмму прецедентов.
Актуализировать все диаграммы из лабораторных, добавить краткое описание к диаграммам.
Три раздела отчета: бизнес-процесс с прецедентами, архитектура, алгоритмы, интерфейс.