Отчеты по лабораторным работам и ДЗ отправлять на почту [email protected]
Образ виртуальной машины Linux Ubuntu 22.04 для выполнения заданий курса
-
Лекция 3. Методология Agile, состав команды. Диаграммы UML. Работа в git
-
Лекция 6. ТЗ. Авторизация, сессии, permissions. Redis, swagger
-
Лекция 8. Введение в React, жизненный цикл компонентов, CORS
-
Лекция 15. Резерв
В рамках практических работ по курсу необходимо каждому разработать заявочную систему на услуги по своей предметной области. Система состоит из веб-сервиса, фронтенд приложения, нативного приложения и второго асинхронного сервиса. Все таблицы и их столбцы, методы с параметрами, страницы приложения называются строго по предметной области.
У каждого своя предметная область на весь курс: бронирование отелей, билетов в театр/кинотеатр, онлайн-магазин по вариантам, тему выбирать из списка ниже. По каждой теме есть ключевой процесс, в котором пользователь
оформляет заявки
, в которой может быть несколько услуг
. Также есть модератор
, который может редактировать список услуг
и одобрять заявки
. От предметной области зависят: названия ролей пользователей, названия сущностей услуг
и заявок
, список полей для них, возможные статусы и изменяемые в них поля. В нативном приложении
нужно реализовать интерфейс гостя
- только просмотр услуг
.
У каждого студента практически одинаковое задание на весь семестр. Но оно должно быть модифицировано под вашу тему:
- добавить 4-6 полей по теме в 3 таблицы
- весь код переписать по теме, только у вас будут такие названия таблиц, страниц и тд. Никаких общих text, search, order, cart, basket, service и т.д. Это должны быть
airplane
,document
,software_request
,shipName
,softwarePrice
и тд. - ваши цвета и ваши данные
Каждая лабораторная - это sprint
, этап разработки по agile
, под каждую отдельная именованная по теме ветка в git
. Два обязательных репозитория у всех (бекенд и фронтенд) и еще два для дополнительных заданий ДЗ (мобильное приложение и асинхронный сервис). Каждая работа демонстрируется и защищается отдельно. При защите необходимо продемонстрировать по вашей теме:
- работу всех программ этой лабораторной
- документацию (UML диаграмму из
StarUML
(draw.io
)/figma
+ 1 модуль ТЗ, 2 модуль - РПЗ). Все диаграммы делать в 1 файлеStarUML
- отдельную ветку в
github
с кодом - подготовить скриншоты в соответствии с
Порядоком показа
- перед показом письменно ответить на
Контрольные вопросы
Основной вариант лабораторных по бэкенду - это Django
и Go
. Но можно самостоятельно изучить и выполнять их на Java
, C#
, Rust
и Node.js
, но только при согласовании с лектором и при выполнении всех условий лабораторных работ. В этом случае обязательно требуется согласовать веб-фреймворк, шаблонизатор, ORM и способ авторизации. При развертывании выбирается один из двух вариантов: все три хранилища PostgreSQL
, Minio
, Redis
разворачиваются через docker
; либо вся серверная часть развернута в виртуальной машине Ubuntu 22.04
. Для фронтенда один стек React
+Redux
+axios
+React-Bootstrap
.
- Демо версия интерфейса создателя заявки
- Примеры UML и ER диаграмм
- Примеры документации
- Видео мастер-классов по UML ER и структура системы и Бизнес процесс, развертывание и запросы
- Основные команды и мастер-класс по основам Git
- Мастер-класс по основам Docker
- Цель работы: выбор варианта-темы на весь курс, знакомство с разработкой бэкенда и разработка дизайна для 3 страниц
- Порядок показа: Показать задание по вашей теме-варианту из списка внизу. Показать дизайн 3 страниц в Figma, показать что в приложении тоже самое. Показать сайт, откуда копировали дизайн, сказать, что скопировано и в CSS это перечислить. Показать три страницы приложения с поиском, при этом во вкладке
Network
для 3 запросовGET
объяснитьurl
: показать параметр фильтрации/поиска, а также idзаявки
иуслуг
. Для страницы спискауслуг
показать в HTML изResponse
: ид заявки, количество в корзине,url
изображений изMinio
. В коде показать где этиurl
в коллекцииуслуг
, а также их использование в 3 шаблонах. Показать роутинг: 3 url и три контроллера для них, объяснить реализацию фильтрации/поиска. - Контрольные вопросы: MVT, компоненты MVC в лабораторной, Django, шаблонизация, HTTP и модель OSI, Web, HTML
- Задание: создание дизайна приложения в
figma
, базовая шаблонизация в Django (для Go просто HTML) дляуслуг
, развертываниеMinio
Требуется разработать дизайн трех страниц приложения в figma
, повторив при этом основную стилистику уже существующего популярного ресурса (3 цвета с точными кодами, hoover, форму карточек), связанного с вашей темой. Данные по теме также нужно искать реальные.
Создание базового интерфейса, состоящего из трех страниц. Первая для просмотра списка услуг
(отели, товары, рейсы и тд) в виде карточек (плиткой в 2-4 столбца) с наименованием, ценой и картинкой, а также отдельным элементом-карточкой текущей заявки
(корзина) с указанием количества услуг
в ней. Это количество вычисляется в контроллере-обработчике. При клике по карточке происходит переход на вторую страницу с подробной информацией об услуге
(даты, описание и тд). А при нажатии на текущую заявку
по ее id открывается страница просмотра состава заявки
, в которой есть поля самой заявки
, каждая ее услуга
отображается ниже отдельной карточкой друг под другом, поля услуги
вывести слева направо в 1 строку и справа для каждой из них поле м-м (количества/порядка/главный/другое). В header
приложения добавить только кнопку/иконку Домой
, она для навигации на страницу услуг
.
Добавить поле input для фильтрации на сервере списка услуг
по одному из полей (наименование, цена, дата события), отображаемых на странице (по умолчанию отображать все). Поле поиска должно сохраняться после запроса. Всего в приложении должно быть 3 GET запроса и две модели-коллекции. Все данные для обеих страниц нужно брать прямо из двух коллекций (массива услуг и словаря заявки), без использования БД. Никаких массивов внутри отдельной услуги
(соблюдать атомарность и 1НФ), но можно и нужно писать большие текстовые описания. Никакого редактирования, только поиск и просмотр. Без JavaScript
В приложении должны быть использованы стили, для каждого элемента списка подгружается свое изображение. Изображения услуг
отображатся на всех трех страницах. Изображения хранятся в Minio
, наименование изображение совпадает с id услуги
, но хранится в модели отдельным полем. Разработать стиль приложения, который будет применяться далее в последующих лабораторных по фронтенду. CSS
вынести в отдельный файл.
- Методические указания по верстке и дизайну Figma. Видеоуроки по Figma
- Инструкция по работе c Python
- Методические указания Django
- Методические указания Golang
- Установка и администрирование Minio
- Цель работы: разработка структуры базы данных и ее подключение к бэкенду
- Порядок показа: показать панель администратора
Django
/adminer
, в которой добавить новуюуслугу
, посмотреть данные черезselect
в БД. Показать 3 страницы приложения: выполнить поиск, удалить заявку, перейти поurl
удаленнойзаявки
, добавить две услуги в заявку (изменение карточки корзины), содержимое заявки. Показать в БД запросом результаты логического удаления и новую заявку. В БД изменить поля по теме взаявке
им-м
и показать их в приложении. В коде показать модели, составной уникальный ключ м-м, 4 контроллера черезORM
, а удаление заявки черезSQL UPDATE
. - Контрольные вопросы: виды БД, SQL запросы, курсоры, ORM, модель и миграции, чистая архитектура
- ER диаграмма: сделать в StarUML; таблицы, связи, столбцы, типы столбцов и их длина, первичные, внешние ключи
- Задание: Создание базы данных
PostgreSQL
по теме работы, подключение БД к созданным трем шаблонам
Необходимо разработать структуру БД по выбранной теме и ее реализовать с учетом требований ниже. Использовать таблицу услуг
в страницах разработанного приложения. Наполнить таблицы БД данными через админку Django
или Adminer
.
Получение и поиск услуг
, добавление услуги
в текущую заявку
(статус черновик она же "корзина"), а также просмотр этой заявки
сделать через ORM
. Для страницы текущей заявки
добавить кнопку логического удаления заявки
(статус меняется на удален) с помощью выполнения SQL запроса UPDATE
, без ORM. Всего пять HTTP методов: три GET и один POST добавления в заявку через ORM
, еще один POST для удаления заявки через SQL.
При отстутствии заявки
в статусе черновик у пользователя, она создается только при добавлении услуги
в заявку
. Если такая заявка
уже есть, то услуга
добавляется сразу в нее. Удаленные заявки просматривать нельзя, если у пользователя нет текущей заявки
, ее карточка на странице услуг не активна.
Требования к БД:
Обязательно наличие 4 таблиц (каскадное удаление запрещено!):
услуг
(наименование, описание, статус удален/действует, url к изображениюNullable
, поля по предметной области)заявок
(только 4 поляNotNull
: id, статус, дата создания datetime,создатель
; дата формирования (2 действиясоздателя
) datetime, дата завершения (2 действиямодератора
) datetime имодератор
, поля по предметной области).м-м заявки-услуги
(составной уникальный ключ, дополнительные поля количества/порядка/главный/другое)пользователей
(дляDjango
обязательно использовать системную таблицу, НЕ свою: логин, пароль, признак модератора)
Обязательно наличие 5 или более статусов заявок
: черновик, удалён, сформирован, завершён, отклонён. У каждого пользователя не более одной заявки в статусе черновик
. Названия таблиц и их полей должны соответствовать предметной области. Одно из доп. полей заявки
или м-м
рассчитывается при завершении заявки.
- Установка в Docker и использование PostgreSQL
- Курс по основам PostgreSQL
- Лабораторные по PostgreSQL, индексы, Tauri, чат-бот
- Методические указания Django
- Методические указания Golang
- Видео мастер-класс gORM и шаблоны Golang
- Цель работы: создание веб-сервиса в бэкенде нашей системы для использования его в
SPA
- Порядок показа: Через
insomnia
/postman
показать коллекцию 19 запросов, выполнить GET списказаявок
(отфильтровать по дате формирования и статусу), выполнить GET спискауслуг
(с фильтром), удалить введеннуюзаявку
(если есть), добавить новуюуслугу
и отдельным методом к ней картинку, добавитьуслугу
в заявку, добавить другую услугу, списокуслуг
с заявкой-черновиком, посмотретьзаявку
(из 2 услуг), изменитьполе м-м
, изменить заявку, завершить введеннуюзаявку
(показать ошибку), сформироватьзаявку
, завершить сформированную заявку (вычисление стоимости/доставки), зарегистрировать нового пользователя. Показать измененные данные через select, объяснить модели, сериализаторы. - Контрольные вопросы: веб-сервис, REST, RPC, заголовки и методы HTTP, версии HTTP, HTTPS, OSI ISO
- Диаграмма классов с детализацией бэкенда (домены методов по
url
с интерфейсами, перечислить все методы, модели, таблицы БД) + insomnia/postman. Связи у моделей сделать по коду, 3 варианта: методы используют разные модели, модели используют другие модели, модели используют несколько таблиц - Задание: Создание веб-сервиса со всей итоговой бизнес логикой (кроме авторизации), подключение его к БД и тестирование в
insomnia
/postman
Создание веб-сервиса для получения/редактирования данных из вашей БД. Требуется разработать все методы для реализации итоговой бизнес логики вашего приложения. Для изображений услуг
использовать Minio
.
Требования к веб-сервису
Методы и url
в API
должны соответствовать REST
. Для списка услуг
(как в 1 лабораторной) и заявок
(по статусу и диапазону даты формирования) нужно предусмотреть фильтрацию на бэкенде. Взаимодействие с БД через ORM
. Не делать POST
заявки
. Записи в статусе удален
на клиент не передаются.
Статусы нельзя менять с любого на любой: создатель
удаляет и формирует черновик заявки, а модератор
отклоняет и завершает сформированную заявку. В данной лабораторной пользователь создатель
зафиксирован во всех методах - укажите его константой через функцию-singleton
. Системные поля (ид, статусы, создатель и модератор, даты создания, формирования и завершения) передавать с клиента для изменения запрещено. Они вычисляются на бэкенде через авторизацию и бизнес-логику.
Домен услуги:
- GET список с фильтрацией. В списке
услуг
возвращается id заявки-черновика этого пользователя для страницызаявки
и количествоуслуг
в этойзаявке
- GET одна запись
- POST добавление (без изображения)
- PUT изменение
- DELETE удаление. Удаление изображения встроено в метод удаления услуги
- POST добавления в заявку-черновик.
Заявка
создается пустой, указывается автоматическисоздатель
, дата создания и статус, остальные поля указываются черезPUT
или смену статуса - POST добавление изображения. Добавление изображения по id услуги, старое изображение заменяется/удаляется.
minio
только в этом методе и удалении!
Домен заявки:
- GET список (кроме
удаленных
ичерновика
, поля модератора и создателя через логины) с фильтрацией по диапазонудаты формирования
и статусу - GET одна запись (поля
заявки
+ ееуслуги
). При получениизаявки
возвращется список ее услуг с картинками - PUT изменения полей заявки по теме
- PUT сформировать создателем (дата формирования). Происходит проверка на обязательные поля
- PUT завершить/отклонить модератором. При завершить/отклонении заявки проставляется
модератор
и дата завершения. Одно из доп. полейзаявки
илим-м
рассчитывается при завершении заявки (вычисление стоимости заказа, даты доставки в течении месяца, вычисления в м-м). - DELETE удаление (дата формирования)
Домен м-м:
- DELETE удаление из заявки (без
PK м-м
) - PUT изменение количества/порядка/значения в м-м (
без PK м-м
)
Домен пользователь:
- POST регистрация
- PUT пользователя (личный кабинет)
- POST аутентификация
- POST деавторизация
- Цель работы: Завершение бэкенда для
SPA
- Порядок показа: выполнить метод аутентификации через
swagger
в режиме инкогнито, получить список заявок вswagger
; из браузера использовать содержимоекуки
из вкладкиApplication
илиJWT
из ответа аутентификации для заголовковcookie
илиauthorization
соответственно в остальных запросах черезinsomnia
/postman
. Далее вinsomnia
/postman
выполнить GET списка заявок: 401/403 для гостя, для создателя только его заявки. Выполнить PUT завершения заявки: для создателя 403 статус, для модератора успех и обновление полей. Выполнить GET списка заявок - для модератора все заявки. Показать содержимоеRedis
черезcmd
, для сессий показать пользователя - Контрольные вопросы: куки, сессия, Redis, JWT, авторизация и аутентификация, SSO, двухфакторная аутентификаци, RSA
- Sequence диаграмма: весь набор
HTTP
запросов по бизнес-процессу без БД и нативного приложения: аутентификация, список услуг без черновика, добавление услуги в заявку, еще раз список услуг с черновиком, просмотр черновой заявки, редактирование заявки, формирование заявки, список заявок, завершение модератором из второго фронтенда, список заявок с расчетом. Добавить домены в качествеLifeline
, при добавлении сообщений выбирать методы доменов из диаграммы классов, передавать ключевые входные и выходные данные черезarguments
в скобках уMessage
- Задание: Добавление авторизации и
swagger
в веб-сервис, подготовка ТЗ
Реализовать методы бэкенда для аутентификации
и регистрации
. Авторизация через хранение сессий и куки. Автозаполнение пользователя в таблице заявок
при создании новой. Добавить описание методов для swagger
.
Добавить проверку Permissions
для методов модератора
. Без авторизации в Swagger
должно быть доступно только чтение-получение данных через API, с авторизацией - методы пользователя
, а для модератора
доступны все методы.
- Настройка через WSL
- Методические указания Redis
- Методические указания DRF Сессии
- Видео мастер-класс Авторизация на Django
- Методические указания Golang JWT
- Видео мастер-класс Авторизация, Swagger и Redis на Golang
Вместе с 4 лабораторной сдается текущий комплект документации, который требуется оформить в виде .doc
:
- титульный лист РПЗ
- 3 диаграммы оформить как рисунки в РПЗ
- Приложение 1. ТЗ как приложение к РПЗ
- Приложение 2. Таблица методы веб-сервиса
Состав ТЗ на итоговую систему (использовать сплошную нумерацию внутри пунктов):
- цель
- назначение - краткое описание для чего, кто работает в системе
- задачи - 12 задач (8 лабораторных-задач по бекенду/фронтенду, нативное приложение, демо в Pages, документация, репозиторий Git) с указанием ваших технологий по каждой задаче
- Функциональные требования - список HTTP методов, далее список окон и какие действия для каких групп пользователей доступны. Указать, какие методы бэкенда при этом вызываются. Всего 14 подпунктов - HTTP методы, меню и 12 страниц приложения:
-
гость
: регистрация, аутентификация, главная, список услуг, одна услуга, 403 и 404 -
создатель
заявки: страница заявки, список заявок, личный кабинет -
модератор
: список услуг таблицей, редактирование/создание услуги
- требования к аппаратному обеспечению для сервера и клиента
- требования к программному обеспечению с версиями для серверных компонентов и для клиента
- Цель работы: Разработка базового SPA на React
- Порядок показа: Показать три страницы фронтенда с
mock
без запущенного сервиса. Далее показать страницы фронтенда с бэкендом, внести изменения в БД, показать их во фронтенде. Объяснить код компонентов для фильтрации, передаваемые props, хуки, вызовы fetch. - Контрольные вопросы: react, props и состояние, компонент и элемент, useState и useEffect, жизненный цикл компонента, CORS и обратный прокси, Vite и Babel, BFF и GraphQL, Next.js и SSG, FSD
- Диаграмма классов с детализацией бэкенда и фронтенда: добавить методы авторизации, фронтенд разделить на страницы, добавить у страниц зависимость от API.
- Задание: Разработать три страницы фронтенд приложения на
React
,TS
и подключить его к веб-сервису
Разработать базовый интерфейс приложения на React
для гостя
, аналогичный двум страницам из лабораторной работы №1 для просмотра услуг
, а также сделать главную
(стартовую) страницу со статическим описанием. При этом на странице списка услуг
должны быть все необходимые фильтры (по диапазону дат, названию, цене) с фильтрацией на бэкенде. Использовать компоненты React-Bootstrap
. Для карточек предусмотреть изображение по-умолчанию, если поле в услуге
пустое.
В приложении должны быть навигационная панель navbar
для списка базовых страниц, а также самописная навигационная цепочка breadcrumbs
, где отображается путь от базовой страницы к текущей. В этой лабораторной никакого Redux
, а Context
вообще в курсе использовать нельзя.
Содержимое карточек получать из вашего веб-сервиса. Ajax-запросы написать самостоятельно через fetch
. Ограничение с CORS
решить через проксирование React
. В методах fetch
предусмотреть получение данных из коллекции с mock
-объектами при отсутствии доступа к вашему бэкенду.
- Цель работы: Внедрение адаптивности и развертывание приложения
- Порядок показа: Открыть
GitHub Pages
с mock на телефоне, сохранить PWA. Открыть PWA, применить фильтрацию услуг, перейти на главную и вернуться, чтобы показать старое значение фильтра. Перейти в адаптивный режим браузера, поменять ширину. Объяснить настройки для размера карточек, количества колонок и тд - показать конкретные значения размера и количества колонок, карточек. На компьютере показать подключение Tauri к бэкенду по IP локальной сети (неlocalhost
), сравнить IP сервера из консоли и в коде приложения. Отредактировать услуги в БД и продемонстрировать изменение в Tauri. - Контрольные вопросы: flux, схема redux (store, reducer, dispatch, action), PWA, Tauri, Pages
- Deployment диаграмма все узлы и компоненты системы: фронтенда, web-сервера со статикой, веб-сервиса, базы данных и других хранилищ и тд. Узлы соединить протоколами, компоненты фронтенда и бэкенда поместить в узлах, указать API между ними.
- Задание: Внедрить менеджер состояний для хранения значений фильтров, добавление адаптивности и PWA, создание Tauri и развертывание в
Pages
Добавление менеджера состояний Redux Toolkit
для хранения фильтра заявок и услуг. Необходимо развернуть фронтенд на GitHub Pages
и добавить возможность работы в режиме PWA
. Добавить адаптивность для трех страниц приложения.
Создание простого нативного приложения на Tauri
для интерфейса гостя (без авторизации и редактирования), состоящий из 3 страниц с фильтрацией и картинками. Подключить приложение к разработанному API через IP адрес в локальной сети (не localhost
).
- GitHub Pages, PWA и адаптивный дизайн
- Методические указания Redux Toolkit + fetch
- Методические указания Tauri
- Видео мастер-классов Tauri на основе проекта React и Tauri приложения с нуля
- Цель работы: Завершение интерфейса
пользователя
вReact
- Порядок показа: показать авторизацию, добавление и формирование
заявки
в режиме разработчика. Показать авторизацию в браузере, использовать содержимоеlocalStorage
/cookie
из вкладкиApplication
чтобы показать заявки пользователя вinsomnia
/postman
. Пояснить в коде использованиеredux
иaxios
, показать применение сгенерированного кода фронтенда изswagger
. - Контрольные вопросы: схема redux, reducer, store, контекст, axios
- Activity диаграмма/BPMN для итогового бизнес-процесса для ДЗ: описание бизнес-процесса, разделение на дорожки по ролям двух пользователей и выделенного сервиса, действия соответствуют операциям пользователей в вашей системе.
- Задание: Добавить авторизацию и возможность оформления
заявок
во фронтенд черезRedux Toolkit
, кодогенерация взаимодействия сAPI
черезAxios
Добавить страницы для регистрации и авторизации. Добавить страницу для просмотра списка заявок
пользователя в виде таблицы. Добавить в меню пункты для новых страниц. Добавление в Redux Toolkit
состояния интерфейса после авторизации. В приложении должно быть реализовано переключение между интерфейсом гостя и интерфейсом пользователя по кнопке Вход
/Выход
. После авторизации в меню должно отображаться Имя/Логин пользователя. При выходе должно сбрасываться содержимое конструктора новой заявки, а также фильтры пользователя. Добавить страницу личного кабинета пользователя для сброса пароля и др полей.
Добавление на странице услуг кнопки Добавить
для внесения данной услуги в новую заявку. Добавление страницы заявки
, где в статусе черновик
можно удалить уже добавленные в заявку услуги, поменять их количество или подтвердить
заявку. Эта же страница используется для просмотра старых заявок в других статусах, но без возможности редактирования. Переход на страницу заявки
через специальную кнопку, которая меняет состояние: если черновик есть - кнопка доступна, а если заявки-черновика нет - кнопка отображается с другим стилем и недоступна.
Для обращений к методам веб-сервиса использовать axios
. При выполнении запросов отображать на странице анимацию.
- Цель работы: Внедрение Real-time web
- Порядок показа: Показать два окна в режиме разработчика (в разных браузерах, либо в одном, но одно окно через Инкогнито) - для
пользователя
показать услуги, а длямодератора
список заявок за сегодня. Создать заявку в интерфейсепользователя
, сформировать и показать ее умодератора
. Завершитьзаявку
, показав результаты вычисления полей, и отредактировать списокуслуг
. - Контрольные вопросы: любые вопросы по реализации интерфейса
модератора
, Agile, DevOps, UML, GitFlow workflow - Диаграммы: диаграмма состояний для статусов
заявок
и диаграмма прецедентов. - Задание: Реализовать интерфейс
модератора
Необходимо добавить в приложение React интерфейс модератора
, доступный после его авторизации и имеющий следующие отличия:
- Новое окно редактирования
услуг
, список услуг отображается таблицей. Доступно добавление новых услуг (обязательные и необязательные поля), редактирование, удаление. - Добавить статические страницы 403 и 404
- В окне списка
заявок
доступны кнопки для смены статуса заявок. Также есть поля фильтрации по диапазонудаты формирования
(только даты, без времени) и статусу заявок на стороне бэкенда. Фильтрация посоздателю
заявки
на фронтенде. - Окно списка
заявок
переделать наshort polling
чтобы отображать актуальные статусы.
- Отчет: отчет необходимо отправить на почту [email protected]. Оценивается раскрытие предметной области в описании и приложении, корректность оформления отчета.
- Диаграммы: Актуализировать все диаграммы из лабораторных, все диаграммы должны соответствовать реализованной вами системе. Все диаграммы должны быть читаемые, шрифт на них должен не отличаться по размеру от шрифта текста отчета.
- Задание: подготовить итоговый отчет, дополнительные задания
Отчет-РПЗ по курсу:
ГОСТ (1.5 интервал, 1.25 см отступ, 14 пт и тд) - Требования по оформлению. Отчет обязательно проверить через программу TestVKR
.
- Введение (актуальность с цифрами и датами, цель, назначение, нефункциональные требования, задачи)
- Бизнес-процесс. Описание предметной области на примере конкретной компании/подразделения с названиями должностей и ссылками по теме. Диаграмма прецедентов, диаграмма состояний и деятельности/BPMN (>300 слов)
- Архитектура. Диаграммы развертывания, ER с назначением таблиц и диаграмма классов с детализацией бэкенда и фронтенда (>300 слов)
- методы веб-сервиса таблицей с группировкой по доменам: №, метод, url, описание, входные, выходные данные с названиями полей и типами
- Алгоритмы. Диаграмма последовательности HTTP запросов (>300 слов)
- Описание интерфейса. Перечень окон, их назначение и выполняемые пользователями действия (>300 слов)
- Заключение. Перечень выполненных задач и достигнутые результаты. Ссылки на GitHub Pages и GitHub бэкенда (в README краткое описание проекта и ссылки на Pages и другие репозитории).
- Список использованных источников Минимум 2 по теме и 5 по технологиям
- Приложение. Техническое задание
- Порядок показа: показать пагинацию с фильтрацией по индексу в React-приложении. Включить и отключить индекс - показать отличие во времени запроса.
Добавить в БД большое количество (> 100000) услуг
или заявок
соответственно + реализовать пагинация на фронтенде и ограничение количества в методе бэкенда.
- Порядок показа: Показывать на телефоне, отредактировать услуги в БД и продемонстрировать изменение в нативном приложении, показать поиск и переход в Подробнее. В коде показать реализацию фильтрации и IP в локальной сети
- Контрольные вопросы: виды нативных приложений и отличие от web-приложений, react-native, pwa, tauri
- Задание: Создание приложения для
гостя
на iOS/Android/Qt/React-native и подключение к веб-сервису
Создание простого нативного приложения для интерфейса гостя (без авторизации и редактирования), состоящий из 2 страниц с фильтрацией и картинками. Подключить приложение к разработанному API через IP адрес в локальной сети.
- Методические указания React Native + Redux Toolkit
- Видео мастер-класс React Native
- Методические указания iOS (UI kit)
- Методические указания iOS (Swift UI)
- Методические указания Android (Kotlin + Compose)
- Порядок показа: вызвать через
insomnia
GET списка заявок, затем http-метод асинхронного сервиса, показать что в GET списка заявок появился результат с задержкой, потом вызвать новый метод основного сервиса с ключом, чтобы изменить результат - Контрольные вопросы: grpc, асинхронность, веб-сервис
- Задание: Создание асинхронного сервиса для отложенного действия (вычисление, моделирование, оплата и тд)
Требуется разработать второй простой асинхронный сервис на другом языке (кто делал на Django - Go и наоборот) с одним http-методом для выполнения отложенного действия в вашей системе (вычисление, моделирование, оплата и тд). Действие выполняется с задержкой 5-10 секунд, результат сервиса случайный, например успех/неуспех (но записывается всегда - не путать с ошибкой программы), достаточно в результате обновить одно поле в заявке
/м-м
. При создании заявки
это поле пустое.
В исходном веб-сервисе также необходимо добавить http-метод для внесения результатов. Асинхронный сервис взаимодействует с основным через http
, без прямого обращения в БД. Добавить псевдо авторизацию в методе основного сервиса - передавать как константу какой-нибудь ключ-токен, например на 8 байт, и через if просто проверять на совпадение это поле.
💡 Для тех, у кого в асинхронно заполняются поля в м-м, а не в заявке
Необходимо добавить в GET списка заявок одно поле, которое равно количеству записей м-м, в которых рассчитываемое поле пустое. Таким образом, при формировании
заявки
этот столбец будет равен 0. А когда асинхронный сервис заполнит результаты в м-м, в этом поле или сразу, или постепенно возрастет количество до количества м-м. Сами результаты можно увидеть на странице самойзаявки
.
- Автоматическое тестирование вашего сервиса через Python - автотесты методов API
- Полноценное нативное приложение - интерфейс модератора или клиента с авторизацией
- Заказ без авторизации через redis
- Черновик-заявки через redux и 5 запросов-событий которые меняют это состояние: одобрение, удаление заявки, добавление в заявку, авторизация и деавторизация
- Ролевая модель через несколько кастомных таблиц
- Список услуг кешировать в redis
- Сделать дашборд со статистикой заявок по месяцам и прирост новых услуг/заявок/клиентов
- Атрибуты услуги через вертикальную таблицу атрибутов: список атрибутов в отдельной таблице, а значения через вторую м-м
- Запрос прав модератора при регистрации и окно подтверждения запросов в отдельной странице у модераторов.
- методичка по https://pixso.net
- про установку Python, JS, а также докер на разные OS
- Для 2 лабораторной. Подробнее про миграции Django. Примеры работы с моделями с получением заявки и ее услуг. Составной PK в м-м
- по Golang 2 лабораторная расписать примеры работы с ORM и тд, как в ролике
- по Golang 3 лабораторная расписать Minio, вложенная сериализация
- Для доп. задания. Работа с индексами и пагинацией (в бэкенде и фронтенде)
- на арабском 1 лабораторная и на китайском 5 лабораторная работы
- Требуется выполнить дополнительное задание к ДЗ
Создание мобильного приложения
, но для интерфейсасоздателя заявки
с авторизацией (засчитывается и +2 балла к ДЗ). - Добавить таблицу
атрибутов
и вертикальную таблицу значенийатрибутов
(как м-м междуатрибутами
иуслугами
) для хранения дополнительных полейуслуги
. Добавить список наименованийатрибутов
и их значений на страницу подробнее обуслуге
только для просмотра, а также на страницу редактированияуслуги
с возможностью добавлять/удалятьатрибуты
и редактировать значениямодератором
. Отображать в нижней части страницы таблицей из двух колонок.
Система заявок на вычисления: факториал, НОД и тд.Услуги
- виды вычислений,заявки
- запрос с входными данными и результатами.Аналитическое моделирование потоков в метроУслуги
- станции и др объекты для моделирования,заявки
- запрос с входными данными и результатами.- Аналитическое моделирование загруженности сетевого оборудования
Услуги
- виды моделирования по оборудованию,заявки
- запрос с входными данными и результатами. Статистические расчеты.Услуги
- статистические величины (мат ожидание, дисперсия и тд),заявки
- данные для расчетов с результатомШифрование кодом с обнаружением ошибок.Услуги
- данные,заявки
- запросы на шифрование/расшифровку с результатом обнаружения ошибкиШифрование кодом для коррекции ошибок.Услуги
- данные,заявки
- запросы на шифрование/расшифровку с результатом коррекции ошибкиПрогноз погоды.Услуги
- виды данных (температура, давление, влажность),заявки
- запросы на предсказание погоды через авторегрессиюБулевы функции.Услуги
- булевы функции,заявки
- заявки на вычисленияПрименение фильтров к изображению.Услуги
- типы операций (изменение яркости, контраста и тд),заявки
- заявки для применения преобразований к изображению.Расчет платежа по ипотеке.Услуги
- виды расчета (страховка, ежемесячные платежи, аннуитет или равными долями),заявки
- заявки на расчетРасчет квартплаты.Услуги
- набор показателей,заявки
- расчет по каждой квартиреСолнечная энергия.Услуги
- устройства для частных домов (солнечные батареи, аккумуляторы),заявки
- расчет генерации и сбережения для указанного набора устройств и широты
Система заявок для поваров в быстром питании на приготовление.Услуги
- виды блюд с указанием поваров,заявки
- заказ на приготовление блюд.Рецепты автоматического приготовления кофе.Услуги
- ингридиенты,заявки
- рецепты кофеЗаявки от коллцентра мелкого бизнеса: менеджер-создатель заявки, исполнитель+курьер.Услуги
- услуги данного бизнеса,заявки
- заявки от клиентов на услуги.Продажа очков.Услуги
- свойства линз,заявки
- заказы от покупателей на линзыКнижное издательство.Услуги
- работы издательства (печать, брошюрование и тд),заявки
- заказы на издание книгиРазмещение товаров на маркетплейсе.Услуги
- категории товаров,заявки
- заявки от продавцов на размещение товара2НДФЛ.Услуги
- набор кодов для отчислений,заявки
- справки 2 НДФЛ за месяцБухгалтерский баланс компании.Услуги
- добавочный капитал, заемные средства и тд,заявки
- отчетность компании по показателямКафе с разделением счета.Услуги
- меню кафе,заявки
- состав заказа с номером гостя по каждой позиции и генерацией QR-кода заказа
Карточная игра Эволюция.Услуги
- карты Эволюции,заявки
- карточные ходы соперников в игреАвтоматический подбор игроков для игры.Услуги
- карты, игровые локации,заявки
- список карт участника в порядке его приоритетаDungeons & Dragons.Услуги
- игровые персонажи,заявки
- локации с указанием списка персонажей на ней
Оборудование для химических лабораторий.Услуги
- лабораторное оборудование,заявки
- заявки на приобретение- One-pot синтезы.
Услуги
- исходные вещества,заявки
- проведение синтеза при заданных условиях с расчетом выхода вещества из исходников Производство косметики.Услуги
- вещества для производства,заявки
- виды косметики с указанием составаПроизводство лекарств из готовых веществ.Услуги
- действующие и др вещества,заявки
- составляющие лекарствПроизводство красок из красителей.Услуги
- готовые красители и др вещества,заявки
- виды красок (батик, гуаш) по цветамПериоды полураспада.Услуги
- радиоактивные изотопы,заявки
- расчет количества оставшегося вещества за указанный период
Система заявок на производстве.Услуги
- используемые программы станков с ЧПУ,заявки
- заказ на изготовление деталиПродажа авиазапчастей для бизнес-джетов.Услуги
- авиазапчасти,заявки
- заявки на приобретение комплектующих.Поставки комплектующий для производства электроавтомобилей.Услуги
- комплектующие,заявки
- заявки от завода по сборке к заводам комплектующихПоставки деталей для сборки CubeSat.Услуги
- детали для CubeSat,заявки
- заявки на сборку CubeSatСклад комплектующих.Услуги
- список комлектующих для хранения с размером для места,заявки
- заявки на доставку и отгрузку комплектующихКораблестроительная программа.Услуги
- классы кораблей,заявки
- заказ кораблей от государстваФаблаб.Услуги
- виды проводимых работ на фаблабе,заявки
- заказы на печать микроэлектроникиРазработка месторождений.Услуги
- виды работ по разработке (бурение, геологоразведка),заявки
- этапы освоения месторожденийЗаказ на постройку самолета.Услуги
- комплектация самолета,заявки
- производство пассажирского самолетаТехприемка авиадвигателей.Услуги
- состав партии двигателей,заявки
- этапы приемкиСборка ракетоносителей Ангара разных типов.Услуги
- комплектующие, блоки, двигатели для разных типов ракет Ангара.заявки
- заявка на производство ракетоносителя
Визовый центр РФ - заявки на визы.Услуги
- виды виз,заявки
- заявки на получение нужной визы.Автоматический контроль паспортов на границе.Услуги
- паспорта, которые заведены в системе,заявки
- факты пересечения границы по паспортуБанковские счета.Услуги
- банковские договоры РКО, зарплатный проект, эквайринг,заявки
- открытие новых счетов для банковских договоров с указанием основного договора для счетаЗаявки на изготовление документов при смене фамилии.Услуги
- виды документов для замены,заявки
- заявка на замену с указанием новой фамилии и причиныЭлектронная таможня.Услуги
- виды товаров, ценностей, валют для провоза,заявки
- заявки для декларирование провозимых товаров.Регистрация новых препаратов.Услуги
- список болезней для лечений препаратом,заявки
- заявки на регистрацию нового препаратаРегистрация новых видов животных.Услуги
- места обитания животных,заявки
- заявки на открытие нового вида с указанием родаСервис для самозанятых.Услуги
- виды предоставляемых услугзаявки
- заявка на регистрацию замозанятого с указанием ФИО, деятельности и др данныхСбор средств на реконструкцию исторических зданий.Услуги
- виды работ по реконструкциизаявки
- заявки на реконструкцию и сбор средствЭлектронное голосование.Услуги
- варианты названий для объектов города,заявки
- результаты голосованияЗаявка на проведение тендера.Услуги
- участники тендера,заявки
- статусы тендераДоговоры банка.Услуги
- набор услуг банка,заявки
- заявка на подключение к обслуживаниюЧаты.Услуги
- чаты,заявки
- отправка сообщения (м-м отправка в несколько чатов)Групповая отправка файла в мессенджере.Услуги
- получатели,заявки
- процесс отправки файлаРегистрация участников на спортивное соревнование.Услуги
- участники,заявки
- заявка для команды на участиеБанкомат.Услуги
- различные виды купюр,заявки
- операции внесения/снятия наличныхУдаленная поддержка.Услуги
- виды происшествий,заявки
- обращения от пользователейСчетчики воды.Услуги
- разные адреса,заявки
- фиксация показаний от счетчиковКарточки для изучения иностранных языков.Услуги
- карточки слов с переводом и примерами использования,заявки
- набор карточек для изучения в нужный деньБиблиотека коротких семплов (TikTok).пользователя с указанием используемых семлпов и их таймкодовУслуги
- библиотека коротких семплов без воспроизведения,заявки
- публикация- Публикация-история.
Услуги
- разные элементы истории (упоминание, локация, текст),заявки
- публикации с указанием элементов и их содержимого Удаленное заселение в апарт-отель.Услуги
- апартаменты отеля и услуги отеля (завтраки, парковка),заявки
- заселение клиента с указанием апартаментов и услуг отеляКешбэк за покупки.Услуги
- категории с процентом кешбэка,заявки
- ежемесячные сводки по каждому клиенту с разбивкой трат по категориям с расчетом величины кешбэкаФильмотека.Услуги
- библиотека фильмов,заявки
- история просмотров пользователя за сутки и временем фильма, на котором остановился просмотр
Консалтинг по ИТ безопасности.Услуги
- виды консалтинга,заявки
- заявки на проведение консалтингаОбслуживание ИТ инфраструктуры.Услуги
- виды проводимых работ,заявки
- заявки по настройке сетевого оборудованию, виртуалки и тдМониторинг ИТ угроз.Услуги
- виды угроз,заявки
- факты возникновения угроз в подразделении компанииСайт КТС.Услуги
- виды разработки,заявки
- заявки от заказчиковАренда виртуальных машин.Услуги
- тарифы на аренду,заявки
- заявки на аренду кластера машинЗаявки на подключение провайдера.Услуги
- виды работ по подключению (аренда оборудования, белый IP, подключение дома/кабель),заявки
- заявка от клиента на подключениеЗаявки на установку серверного ПО.Услуги
- программное обеспечение,заявки
- заявки от сотрудниковСоздание датацентра.Услуги
- комплектующие, аппаратное обеспечение,заявки
- процесс создания датацентраГолосовой помощник.Услуги
- доступные действия помощника,заявки
- интенты пользователя
Заявки контроля маршрута беспилотных летательных аппаратов.Услуги
- районы города,заявки
- заявки на пролет объекта в данной районе в определенное время.Контроль нарушений ПДД самокатами и др средств индивидуальной мобильности с двигателем.Услуги
- виды нарушений и штрафы для них,заявки
- факты нарушения из средств фиксацииПриобретение абонементов на общественный транспорт.Услуги
- виды абонементов на различный транспорт,заявки
- приобретение абонементов на картуПроезд по транспортной карте 90 минут.Услуги
- маршруты транспорта,заявки
- проезд по транспортной карте в 90 минут с указанием маршрута транспортаЗаявки на стоянку судна в порту.Услуги
- конкретные корабли,заявки
- заявки на нахождение корабля в данному порту.Севморпуть, заявки на проводку ледоколами.Услуги
- транспортные корабли ледового класса,заявки
- заявки на проводку кораблей ледоколом с указанием начальной и конечной точки проводки.Логистика контейнеров.Услуги
- список контейнеров с указанием груза,заявки
- заявка на перевозку со списком контейнеров и транспортным средствомПлатная дорога.Услуги
- участки платной дороги,заявки
- оплата и проездАвиарейсы.Услуги
- авиакомпании,заявки
- авиарейсы с указанием отправки, назначенияСтраховка на автотранспорт.Услуги
- водители в страховке,заявки
- заявка на оформление страховкиРегистрация авиабагажа.Услуги
- единицы багажа с кодами,заявки
- доставка багажа с делением по рейсамЗарядные станции электромобилей.Услуги
- список зарядных станций,заявки
- дневные отчеты с объемом электропотребления станций
Заявки на доставку грузов на Марс на Starship.Услуги
- товары, доставляемы на Марс на Starship,заявки
- заявки на конкретный объем товаровУчет перелетов Starship между земными космодромами.Услуги
- конкретные космические корабли,заявки
- заявки на перелет кораблей между площадкамиОтчеты по добыче ресурсов (вода, углекислый газ, гелий и тд) на Луне.Услуги
- добываемые ресурсы,заявки
- месячные отчеты об объеме добычи в конкретном месте ЛуныЗаявки на переходы космических аппаратов на различные орбиты.Услуги
- доступные орбиты,заявки
- заявки на переход спутников на орбиту.Автоматические межпланетные станции (АМС).Услуги
- космические объекты,заявки
- космические полеты АМС к этим объектам.Станции на поверхности Марса.Услуги
- географические объекты на поверхности Марса (кратеры, плато),заявки
- автоматические марсианские станции и марсоходы с маршрутом, успех/потеря/работаетЗапуск спутников с космодрома Восточный.Услуги
- имеющиеся заявки на доставку КА на орбиту,заявки
- полет ракеты-носителя с указанной полезной нагрузкойАстрономия для астрологов.Услуги
- планеты,заявки
- присутствие в созвездии указанных планет в данное время- Анализ реликтового излучения.
Услуги
- анализируемые спектры,заявки
- космические аппараты для анализа реликтового излучения Полеты к Gateaway.Услуги
- модули станции Gateaway и космические корабли,заявки
- миссии с указанием состава и целиПолеты Orion.Услуги
- астронавты,заявки
- полет с указанием назначения, командира и командыMars Sample Return Mission.Услуги
- гильзы-пробирки с грунтом от Perseverance,заявки
- миссии Mars Sample Return Mission с указанием гильзГрузовые корабли к МКС.Услуги
- грузы для доставки на МКС,заявки
- полеты грузовых кораблей к МКСОбъекты на карте.Услуги
- теги видов объектов,заявки
- объекты на карте с указанием местоположения и тегов
- Технадзор строительных объектов МГТУ.
Услуги
- строящиеся здания в кампусе МГТУ,заявки
- проверки технадзора данных строек Мероприятия музея МГТУ.Услуги
- виды проводимых в музее мероприятий,заявки
- заявки для групп на данные мероприятияБронирование аудиторий МГТУ.Услуги
- аудитории МГТУ,заявки
- заявки на бронирование аудиторий под проводимое мероприятиеПарковка МГТУ.Услуги
- парковки МГТУ,заявки
- заявки на пропуск/абонементы автомобилей на парковкиЗапись на спортивные курсы МГТУ.Услуги
- еженедельные группы по курсам,заявки
- запись на группыСайт конференции.Услуги
- авторы статей,заявки
- заявка на публикацию статьиПроведение митапов по ИИ.Услуги
- спикеры,заявки
- митапы- Составление расписания преподавателей.
Услуги
- преподаватели,заявки
- занятия (день недели+время+ауд). Не должно быть двух занятий в одно время у преподавателя Составление расписания групп.Услуги
- учебные группы,заявки
- занятия (день недели+время+ауд). Не должно быть двух занятий в одно время у группыЗаявки на специалистов ГУИМЦ (сурдопереводчиков, сурдоакустики и тд).Услуги
- специалисты центра ГУИМЦ,заявки
- заявка на специалистов на конкретное время и место.Заявки на техническое оборудование (проекторы, экраны и тд).Услуги
- виды оборудования,заявки
- заявка на предоставление оборудования в аудиторию на время.Заявки на пропуски для посетителей.Услуги
- корпусы МГТУ,заявки
- заявка со списком посетителей, временем посещения- Пропуски на выходные и праздничные дни.
Услуги
- список сотрудников,заявки
- заявка на работу в выходной, праздничный или ночью с указанием причины. Составление занятий.Услуги
- задания для выполнения,заявки
- занятия со списком для выполнения студентами- Заявки на совместный доступ к документы.
Услуги
- документы,заявки
- заявки на предоставление доступа на редактирование к документам. Приказы ректора.Услуги
- подразделения МГТУ для ознакомления с приказом,заявки
- приказы ректораПроверка кода студентов.Услуги
- языки программирования,заявки
- заявка от студента на проверку кода преподавателемФормирование групп на прохождение медосмотра.Услуги
- доступное время для записи на медосмотр,заявки
- заявки от студентов для включения в группу на медосмотрМероприятия профкома МГТУ.Услуги
- билеты в музеи, театры, конкурсы и тд,заявки
- подача заявок на бесплатное распределение билетов- Заявки на повышение квалификации.
Услуги
- курсы,заявки
- прохождения курса/программы дисциплин Выставки МГТУ.Услуги
- направления/тематика выставки,заявки
- выставка с указанием даты, времени и помещения- Обратная связь по курсу.
Услуги
- группы студентов,заявки
- запрос от преподавателя на проведение опроса по выборанным группам Приказы об отчислении.Услуги
- студенты,заявки
- приказы на отчисление студентовПриемная комиссия.Услуги
- специальности для поступления,заявки
- продача документов для поступления- Составление маршрута.
Услуги
- доступные переходы между корпусами в капмусе,заявки
- заявка на объединение участков в единый маршрут - или ошибка Задачи по электротехнике.Услуги
- список реальных моделей резисторов,заявки
- расчет силы тока для списка резисторов, соединенных последовательно или параллельно
Трудоустройство женщин в отпуске по уходу за ребенком.Услуги
- вакансии для женщин с детьми,заявки
- подача заявок на вакансии от женщинСистема трудоустройства для инвалидов.Услуги
- вакансии для инвалидов,заявки
- подача заявок на вакансию от инвалидовСистема социальной помощи инвалидам - доставка еды, сопровождение на мероприятие и тд.Услуги
- оказываемые услуги,заявки
- заявки на них от инвалидовЗаказы на молочную кухню (для детей).Услуги
- виды продуктов,заявки
- заявки от родителейСправочник по медицине катастроф и первой помощи.Услуги
- виды первой помощи,заявки
- виды поражений при чрезвычайных ситуацияхСервис для работодателей.Услуги
- города, в которых будет открыта вакансия,заявки
- заявки на создание вакансийСобственники компаний.Услуги
- список физических и юридических лиц,заявки
- компания с указанием ее владельцев и доли
Высочайшие вершины Земли и их покорители.Услуги
- знаменитые покорители,заявки
- экспедиции по покорению вершин.Система археологов - находки и их привязка к раскопкам.Услуги
- места археологических раскопок,заявки
- факты находок предметов с группировкой по экспедицииЭпоха географических открытий.Услуги
- первооткрыватели,заявки
- их открытияЖивотные рекордсмены.Услуги
- виды рекордов (самые большие, самые быстрые и тд),заявки
- жившие виды животныхМорские битвы на Тихом океане.Услуги
- конкретные корабли,заявки
- составы соединений с адмиралом и указанием победа/поражениеПоходы викингов.Услуги
- города,заявки
- походы викинговДревнерусские княжества.Услуги
- княжества,заявки
- правители княжеств по периодам- Освоение Дальнего Востока и Сибири.
Услуги
- населенные пункты и географические объекты,заявки
- экспедиции и походы в XVI-XVIII веках Палеонтология.Услуги
- геологические периоды,заявки
- ископаемые животные (отряды-рода)История живописи.Услуги
- картины художников,заявки
- заявки на экспертизу для отнесение данных картин какому-то художникуАтомные электростанции СССР и СНГ.Услуги
- реакторы для энергоблоков,заявки
- история электростанцийРегистрация погодных явлений на метеостанции.Услуги
- погодное явление,заявки
- значения показателей - запись за деньРегистрация температуры на метеостанциях Москвы.Услуги
- метеостанции Москвы,заявки
- регистрация за деньАмарнское искусство (Эхнатон).Услуги
- изображаемые люди, категории предметов,заявки
- произведения искусства и изображенные на них люди/предметы- Военные округа РФ.
Услуги
- объединения, соединения и отдельные части ВС РФ,заявки
- хронология состава округа и его действующий статус
Электронные услуги. Уведомления электронных услуг.Услуги
- получатели уведомления,заявки
- отправка уведомленияИстория. История ВОВ - участники ВОВ и их привязка к архивным документам (личные карточки, наградные, ЖБД итд).Услуги
- архивные документы,заявки
- привязка участника с наградой/событием к документуКосмос. Эволюция ближайших к Солнцу звезд.Услуги
- ближайшие звезды,заявки
- события в эволюции этих звезд, при завершениизаявки
меняется таблицауслуг
.
- Опишите шаблон MVC, структуру и назначение компонентов.
- Опишите схему, как реализован шаблон MVC в фреймворке Django.
- Что такое Django? Его назначение и возможности.
- Что такое шаблонизация Django? Приведите примеры.
- Опишите протокол HTTP. Схему работы и основные понятия.
- Опишите стек протоколов интернета TCP/IP.
- Перечислите основные составляющие web и опишите их.
- Что такое HTML, CSS? Приведите примеры.
- Что такое URI? Опишите элементы URI для HTTP.
- Виды баз данных. Приведите примеры и отличия.
- Объясните назначение ORM, ее составляющие. Укажите преимущества и недостатки ORM.
- Что такое модель и миграция?
- Укажите группы SQL запросов, их примеры и назначение.
- Что такое веб-сервис? Отличие от веб-сервера.
- Что такое Web API? Назначение и применение.
- Микросервисная архитектура. Отличия от монолитной архитектуры.
- Перечислите требования REST, опишите их.
- Что такое RPC? Варианты RPC и их отличия.
- Что такое Swagger? Назначение и использование.
- Что такое AJAX? Схема работы и назначение.
- Назначение JSON и XML. Примеры и отличия.
- Что такое git? Опишите схему работы с ветками GitHub.
- Методология разработки Agile. Состав IT команды.
- Перечислите основные диаграммы UML и их назначение.
- Что такое Web реального времени? Что такое WebSocket?
- Укажите отличия XmlHttpRequest и fetch. Приведите примеры.
- Перечислите отличия Axios от fetch. Приведите примеры.
- Что такое React? Что такое компонент, его состояния и свойства.
- Структура React проекта. Назначение Babel и WebPack.
- Жизненный цикл React компонента.
- Назначение хуков useState и useEffect.
- Назначение хуков useContext и useReducer.
- Опишите схему работы менеджера состояний Redux.
- Опишите работу Redux на диаграмме последовательности.
- Какие параметры передаются при создании Store? Их назначение.
- Что такое Cors? Укажите варианты решения.
- Что такое Redis? Его назначение и варианты применения.
- Опишите схему авторизации с помощью JWT.
- Опишите схему авторизации с помощью сессий.
- Что такое авторизация и аутентификация? Укажите варианты авторизации и их отличия.
- Что такое SSO? Схема работы.
- Протокол OAuth. Схема работы.
- Отличия мобильных и веб-приложения. Языки и технологии для разработки мобильных приложений.
- Что такое pwa? Отличия от других вариантов приложений.
- Плюсы и минусы разработки на React Native.
- Назначение фреймворков Electron и Tauri. Их отличия.
- Опишите этапы подхода DevOps. Назначение GitHub Pages.