staff:courses:no_sql_introduction:course_work

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
staff:courses:no_sql_introduction:course_work [2023/12/15 14:30]
mark
staff:courses:no_sql_introduction:course_work [2023/12/25 18:16] (current)
mark [Прототип*]
Line 13: Line 13:
 Создавать специально для меня PR НЕ НУЖНО. Ждать моей проверки на ваших PR - бессмысленно:​( Создавать специально для меня PR НЕ НУЖНО. Ждать моей проверки на ваших PR - бессмысленно:​(
  
 +Я проверяю только содержимое ветки main - прошу к моменту сдачи заданий мержить наработки в main. 
 ===== Как сдавать задания ===== ===== Как сдавать задания =====
  
Line 127: Line 127:
 Что подразумевает **прототип "​Анализ"​** - выполненны требования "​Хранение и представление" ​ Что подразумевает **прототип "​Анализ"​** - выполненны требования "​Хранение и представление" ​
   - **приложение разворачивается через docker-compose build --no-cache из репозитория на ubuntu 22.04+**,   - **приложение разворачивается через docker-compose build --no-cache из репозитория на ubuntu 22.04+**,
-  - сервер вашей СУБД добавлен docker-compose.yml ( == вы не используете БД извне ваших контейнеров,​ у вас есть контейнер db), типовые ошибки по данному пункту:​+  - сервер вашей СУБД добавлен docker-compose.yml ​**как отдельный контейнер**( == вы не используете БД извне ваших контейнеров,​ у вас есть контейнер db), типовые ошибки по данному пункту:​
     - не выставляйте порт БД наружу     - не выставляйте порт БД наружу
     - дополняйте маппинг портов указанием локального интерфейса везде, например '​127.0.0.1:​8081:​8081'​     - дополняйте маппинг портов указанием локального интерфейса везде, например '​127.0.0.1:​8081:​8081'​
-    - не монтируйте локальные каталоги,​ монтируйте volume+    - не монтируйте локальные каталоги,​ монтируйте volume ​ ​(если вам нужны исходники / файлы проекта,​ то лучше копируйте их на этапе сборки образа)
     - для контейнера СУБД (за исключением memcached и других хранилищ в памяти) обязательно должен использоватся volume, куда будет монитроватся директория с данным СУБД     - для контейнера СУБД (за исключением memcached и других хранилищ в памяти) обязательно должен использоватся volume, куда будет монитроватся директория с данным СУБД
-    - вместо тега ​latest ​указывайте конкретный тег (версию ) для образов+    - всегда указывайте конкретный тег (версию ) для образов. тег latest указывать нельзя
     - не выности мапинг портов в переменные среды - в этом нет необходимости,​ его можно захардкодить вполне     - не выности мапинг портов в переменные среды - в этом нет необходимости,​ его можно захардкодить вполне
   - добавлена недостающая часть (либо добавление элементов,​ либо поиск),​   - добавлена недостающая часть (либо добавление элементов,​ либо поиск),​
-  - добавлен импорт и экспорт всех данных приложения в машиночитаемом формате (XML, JSON, CSV ....), +    ​- поиск элементов реализован следующим образом - для каждого поля сущности есть отдельное поле (или поля) ввода поискового запроса,​ что позволяет искать по сложным запросам,​ например "​найди всех сотрудников,​ у которых пол мужской,​ дата рождения до 15.01.2002, имя - Олег"​. Ориентируйтесь на подробные фильтры в интернет-магазинах
-  ​- поиск элементов реализован следующим образом - для каждого поля сущности есть отдельное поле (или поля) ввода поискового запроса,​ что позволяет искать по сложным запросам,​ например "​найди всех сотрудников,​ у которых пол мужской,​ дата рождения до 15.01.2002, имя - Олег"​. Ориентируйтесь на подробные фильтры в интернет-магазинах.+    - поиск в любых текстовых полях обязательно регистронезависимый и по подстроке (не по полному совпадению) 
 +    - как нелья реализовывать поиск по нескольким атрибутам:​ в виде одного поля ввода (input) и выпадающего списка / radiobutton с выбором поля, для которого будет использоваться введенный текст 
 +    - подумайте,​ а что вам за ваш фильтр скажут на собеседовании / на текущей работе?​ Если на ум приходят нецензурные слова, возможно стоит доработать механизм фильтрации.  
 +  - добавлен импорт и экспорт всех данных приложения в машиночитаемом формате (XML, JSON, CSV ....) одним действием (одна кнопка Импорт импортирует данные сразу для всего приложения,​ одна кнопка Экспорт экспортирует сразу все данные всего приложения),​ отдельные кнопки для отдельных сущностей делать не нужно.
   - в БД приложения содержится достаточный набор тестовых данных для демонстрации всех реализованных сценариев использования,​   - в БД приложения содержится достаточный набор тестовых данных для демонстрации всех реализованных сценариев использования,​
  
Line 143: Line 146:
   - Продемонстрировать работоспособность всех сценариев использования на окончательной версии приложения.   - Продемонстрировать работоспособность всех сценариев использования на окончательной версии приложения.
     - Приложение компилируется и реализует все сценарии использования.     - Приложение компилируется и реализует все сценарии использования.
-    - В приложении ​есть ​представление данных в виде таблицы с serverside пагинацией.+    - В приложении ​к представлению данных в виде таблиц ​добавилась serverside пагинация.
     - В приложение добавлено вычисление и отображение статистики / анализа данных / необходимых вычислений согласно заданию. ​     - В приложение добавлено вычисление и отображение статистики / анализа данных / необходимых вычислений согласно заданию. ​
     - Вы можете продемонстрировать это через docker-compose + дистанционно / с помощью скринкаста. ​     - Вы можете продемонстрировать это через docker-compose + дистанционно / с помощью скринкаста. ​
Line 151: Line 154:
  
 ==== Пояснительная записка. ==== ==== Пояснительная записка. ====
 +
 +Пояснительную записку можно писать из любого состояния проекта (не обязательно доводить его до полностью готовой версии). Пример - вы сделали задания на Удовлетворительно,​ соответственно,​ пишите в записке о том, что у вас получилось. ​
  
   - Предоставить пояснительную записку в электронном виде. Результат:​   - Предоставить пояснительную записку в электронном виде. Результат:​
staff/courses/no_sql_introduction/course_work.1702650638.txt.gz · Last modified: 2023/12/15 14:30 by mark