Рубежный контроль по веб-разработке
Главные требования
- Работа выполнена самостоятельно.
- Работа создана во время проведения занятия (2 пары).
- Не менее трех коммитов за авторством студента, равномерно распределенных по времени выполнения задания.
- Работа размещена на удаленном репозитории на Github, который создан через Github Classroom.
Задание
Работа с проектом и репозиторием
- Принять задание на Github Classroom. Ссылка на задание.
- Клонировать репозиторий созданный репозиторий.
- Инициализировать пакет с помощью команды
npm init -y
. - Установить ESLint и sqlite3.
- Добавить в проект файл
.gitignore
с исключением папкиnode_modules
. - Файл БД не исключайте из коммитов.
- Создать коммит на ветке
main
, создать новую ветку и задание выполнять на ней.
Клиентская часть
- Клиентская часть состоит из документа html и скрипта JS. В документе html реализована форма для отправки данных и отображения получаемого ответа, удобного для чтения пользователем: список или таблица.
- При отправке данных к телу запроса добавляется ваша фамилия.
- На странице должна проводиться валидация данных пользователя. В случае ошибки выводить сообщение через элемент в дереве документа, а не стандартными средствами браузера. Ограничения для проверки указаны в варианте.
- В интерфейс должны выводиться сообщения об ошибках, связанных с отправкой запроса или получением ответа от сервера.
- В футере указано ФИО и дата выполнения задания.
Серверная часть
- В виде статических файлов отдает клиентскую часть.
- На стороне сервера также проводится валидация данных (наличие только требуемых данных и соответствие типу значения) и в случае, когда данные не удовлетворяют ограничениям, отправляется ответ об ошибке с понятным описанием.
- Если с данными все в порядке, то они записываются в базу данных.
- Для необрабатываемых сервером путей и методов, сервер должен давать ответ с кодом из 400-ой группы.
- Сервер должен давать ответ с кодом из 500-ой группы, если будут проблемы с записью в БД.
- Код на стороне сервера должен быть структурирован (контроллеры, сервисы, подключение к БД).
- В базе данных id является первичным ключом с автоинкрементом.
Варианты
1
В запросе: количество слайдов с минимальным значением 10
В ответе: записи, где количество слайдов больше 15 с id
2
В запросе: количество страниц с максимальным значением 100
В ответе: записи отсортированные в порядке убывания количества страниц с id
3
В запросе: почта с минимальной длинной 5 символов
В ответе: все почты отсортированные в алфавитном порядке А-Я с id
4
В запросе: ссылка с максимальной длинной 20 символов
В ответе: ссылки с именами без id
5
В запросе: телефон с максимальной длинной 12 символов
В ответе: последние 2 номера телефона с id
6
В запросе: ссылка с минимальной длинной 4 символа
В ответе: все ссылки отсортированные по алфавиту A-Z без id
7
В запросе: температура тела, минимальное значение 30 градусов
В ответе: все записи отсортированные по температуре в порядке возрастания с id
8
В запросе: Город, максимальная длинна 20 символов
В ответе: Все города отсортированные по алфавиту А-Я без id
9
В запросе: аннотация, минимальная длина 200 символов
В ответе: последние 4 аннотации с id
10
В запросе: расстояние между двумя городами, максимальное значение 33000 км
В ответе: последние 3 записи без id
11
В запросе: количество квартир, минимальное значение 4
В ответе: все записи отсортированные по количеству квартир в порядке убывания с id
12
В запросе: телефон с минимальной длиной 10 символов
В ответе: все телефоны без id
13
В запросе: фамилия с минимальной длинной 2 символа
В ответе: все записи отсортированные по фамилии в алфавитном порядке Я-А с id
14
В запросе: температура в градусах Цельсия, минимальное значение -273 градуса
В ответе: все записи с температурой по возрастанию без id
15
В запросе: комментарий максимальная длинна 144 символа
В ответе: последние 7 комментариев с id
16
В запросе: количество этажей, максимальное значение 100
В ответе: все записи отсортированные по убыванию без id
17
В запросе: длина с минимальным значением 0
В ответе: все длины отсортированные по убыванию с id
18
В запросе: ссылка с минимальной длинной 5 символов
В ответе: все ссылки без id