Лекция 1. Общая лекция про Web, история, понятия, состав команды, взаимодействие.
Лекция 2. Шаблонизация, Django
Лекция 3. Базы данных, ER, PostgreSQL. ORM
Лекция 4. Админка 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. Деплой в облако, настройка ci/cd
У каждого своя предметная область на весь курс: бронирование отелей, билетов в театр/кинотеатр, онлайн-магазин
Основной вариант лаб по беку - это Django. Но есть ещё варианты на Go, Java и может Node.js
Базовая шаблонизация в Django для словаря. Создание базового интерфейса.
На выбор Django, Go, Spring, Node.js
Создание базы данных PostgreSQL (таблица словаря, таблица фактов с датами и статусом, три даты и менеджер), подключение к шаблонизатору. Создание админки
Статусы: введен, в работе, завершён, удалён
ER диаграмма: таблицы, связи, столбцы, типы столбцов и их длина, первичные, вторичные ключи
Создание веб-сервиса для получения данных из БД. Проверка в swagger.
Диаграмма компонентов+классов: компонент сервиса, интерфейс, структура модели по классам
Базовая лаба по фронтенду. Карточки элементов, typescript, навигация. Автоскрол
На выбор React, Vue
Deployment диаграмма: узлы фронтенда, веб-сервиса, базы данных, web-сервера со статикой
Добавление Ajax-запросов, redux. Подключение фронтенда к веб-сервису
На выбор React, Vue
Sequence диаграмма: получение HTML страницы, AJAX запросы
Добавление страницы просмотра для таблицы фактов (корзина товаров, бронирования) и окна добавления. Добавление фильтрации и поиска на странице словаря. Подключение к нужным сервисам.
Activity диаграмма: описание основного алгоритма, разделение на дорожки по элементам системы или ролям пользователей
Таблица пользователей, авторизация, регистрация, хранение сессий, токены. Автозаполнение пользователей в таблице фактов.
Подключение SSO для авторизации пользователей.
Диаграмма компонентов: все компоненты системы с интерфейсами, выделить сервисы данных и авторизации
Создание мобильного приложения с подключением к web-сервису. Просмотр товаров, без бронирования и редактирования.
Добавление роли менеджера контента, доработка под эту роль фронта и сервиса (редактирование таблицы словаря, изменение статусов таблицы фактов, фильтрация фактов). Доработка ролевой модели - ограничение прав на интерфейс
Добавить диаграмму состояний и диаграмму прецедентов.
Актуализировать все диаграммы из лабораторных, добавить краткое описание к диаграммам.
Три раздела отчета: бизнес-процесс с прецедентами, архитектура, алгоритмы, интерфейс.