Репозиторий для реализации дистанционного обучения по дисциплине "СРЕДСТВА ВЕБ-ПРОГРАММИРОВАНИЯ".
Учебный журнал по дисциплине. Тут доступна информация о сроках сдачи работ, о текущей успеваемости студентов и описаны все материалы необходимые для реализации курса.
Составляющие финальной оценки:
- 60 баллов - лабы.
- 10 баллов - тесты.
- 10 баллов - дисскусии на практиках (1+ доклад за семестр (оценка складывается из доклада 50% + активности на занятиях 50%)).
- 20 - экзамен. При выполнении всех лаб по дисциплине в срок - экзамен-автомат.
Конспект с лекции тут.
Отчет по работе необходимо выполнить в mkdocs.
- Изучаем Docker, часть 1: основы
- Изучаем Docker, часть 2: термины и концепции
- Изучаем Docker, часть 3: файлы Dockerfile - !!! Самый важный мануал на данном этапе
- Изучаем Docker, часть 5: команды
- Написать Dockerfile для запуска бэкенд части проекта из курса "Web-программирование".
- Выполнить следующие действия:
- Изменить модель БД Django
- Зайти в контейнер и выполнить миграции (https://www.mousedc.ru/learning/565-komanda-docker-konteyner/)
- Реализовать работу в оркестре всех сервисов из 3 и 4 работы из курса "Web-программирование".
- Выполнить команды необходимые для того, чтобы добавить нового пользователя в БД Postgres. С попощью пользователя должна быть возможность подключиться к БД из приложения для работы с БД (Valentina DB).
Лекция на данную тему пройдет 10 марта. Задание будет дополнено.
Срок выполнения работы: 28.04.2022
- мануал по фильтрации
- тоже может помочь в понимании
- пример использования проверки авторизованности юзера
- Документация django-filter
Необходимо согласовать список фильтров с преподавателем перед выполнением задания. Задание выполняется на основе ЛР из предыдущего семестра или нового проекта (при желании)
Реализвать в ручную следующие фильтры (в ручную значит, что Вам необходимо передать в url параметры, далее переопределть метод list или get_queryset, c целью взять параметры из url-адреса, выполнить с ними запрос и вернуть responce пользователю):
- принимает параметр из url-адреса и выводит отфильтрованные данные. (GET, ListAPIView)
- принимает 2 параметра из url-адреса и выводит отфильтрованные данные. (GET, ListAPIView)
- принимает 2 параметра из url-адреса и выводит отфильтрованные данные, если пользователь авторизован и неотфильтрованные, если не авторизован. (GET, ListAPIView)
Список фильтров и код их исполнения необходимо описать в mkdocs на странице с названием "2.1.1 Ручные фильтры"
Необходимо согласовать список фильтров с преподавателем перед выполнением задания. Задание выполняется на основе ЛР из предыдущего семестра или нового проекта (при желании)
Реализвать в ручную следующие фильтры (Необходимо использовать библиотеку django-filters:
- сортировка по дате, поиск, поиск по полям из связной таблицы
- сортировка в диапазоне цен, дат или каких-либо других числовых значений
Список фильтров и код их исполнения необходимо описать в mkdocs на странице с названием "2.1.2 Автоматические фильтры"
- Исходный код DRF - необходимо изучить и разобраться, как работает код
- Настройка и использование стандартной пагинации DRF
Настроить пагинацию для любых списков в Вашем проекте.
Написать и применить метод пагинации, который, кроме обычного вывода вернет количество страниц пагинации и номер текущей страницы (Это поможет)
Код и пример вывода описать в mkdocs на странице с названием "2.2.2 Кастомная пагинация"
Реализовать следующие ендпоинты:
- Ендпоинт для загрузки файлов, с указанием внешнего ключа на связный объект и сохранением имени и размера файла в базе данных.
- Ендпоинт для сохранения нескольких файлов и валидации на максимальный размер файла и доступные для загрузки расширения файлов.
Код и пример вывода описать в mkdocs на странице с названием " 2.3.1 Загрузка и валидация файлов"
Реализовать 3 сигнала, которые:
- Вызывает логику, во время создания экземаляра объекта.
- Сохраняет значения выбранных полей в таблице в специальные поля для хранения предыдущих значений при обновлении объекта.
- При удалении объекта записывает информацию об удалении в лог реализованный любым образом.
Код и пример вывода описать в mkdocs на странице с названием " 2.4 Cигналы"
- Написать тесты на модель в Вашем API (3 таблицы)
- Написать тесты на ендпинты в Вашем API (3 GET запроса, 3 POST запроса, 3 PATHC запроса)
Код и пример вывода описать в mkdocs на странице с названием " 3.1 Тесты"
Необходимо описать все этапы работы в документации mkdocs. Ссылку загрузить в markdown файл в своей папке в репозитории дисциплины.
Срок сдачи: 17.03.2022 (включительно). Вес работы в баллах – 15. После срока сдачи максимальный бал 10.
Необходимо реализовать интерфейс списков объектов, в котором подключить фильтры из второй лабораторной. В интерфейсе должен быть обеспечен следующий функционал:
- сортировка объектов.
- пагинация.
- поиск по объектам.
- фильтрация с чекбоксами.
- фитры на диапазон.
Можно сказать, необходимо реализовать страничку с фильтрами, как в интернет магазине и подключить к бэкенду.
Для реализации поставленной задачи на фронтенде можно использовать функционал для работы с таблицами в библиотеке vuetifyjs
Описать реализованные интерфейсы со скриншотами в документации mkdocs. Ссылку загрузить в markdown файл в своей папке в репозитории дисциплины.
Срок сдачи: 12.06.2022 (включительно). Вес работы в баллах – 15. После срока сдачи максимальный бал 10.
В качестве курсовика, необходимо доделать Ваши интерфейсы, которые Вы делали в предыдущих работах, как единый проект.
Требования:
- все должно быть в контейнерах
- авторизация и регистрация
- наличие навигационной панели
- наличие главной страницы с описанием возможности сервиса
- фильтры, триггеры, тесты, пагинация
- минимум 10 страниц работающих интерфейсов
Срок сдачи: конец сессии (включительно).