Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dvmn-tasks/f4a201547ae5f472771505df1d531a8d to your computer and use it in GitHub Desktop.
Save dvmn-tasks/f4a201547ae5f472771505df1d531a8d to your computer and use it in GitHub Desktop.
Сценарии использования к первому уроку Django

Сценарии использования

Сценарии использования (use-cases) к первому уроку курса Django курса Девман.

1. Артём проверяет сайт в действии

Ваш заказчик Артём хочет потестировать сайт — убедиться что всё работает и всё красиво. Проверять от будет со своего ноутбука. У него уже есть доступ к админке, вы сообщили ему логин и пароль ранее. Также у него есть ссылка на репозиторий.

  1. Артём перешёл по ссылке на репозиторий GitHub
  2. В репозитории Артём нашёл ссылку на работающий сайт
  3. Артём тестирует сайт в действии: зумит, кликает по локациям, листает фотки.
  4. Артём находит в репозитории ссылку на админку
  5. Артём заходит в админку и добавляет новую локацию: название, координаты, фоточки
  6. Проверяет как выглядит новая локация на сайте

Артём ничего не знает про модели данных, особенности Django и вашего проекта. В админке он действует по наитию, поэтому интерфейc должен вести себя просто, понятно и предсказуемо.

Артём тестирует сайт на desktop

2. Артём тестирует смартфон

Артёму важно, чтобы сайт хорошо работал со смартфонов. Он ожидает, что до половины трафика будет с телефонов.

  1. Артём открывает сайт на смартфоне
  2. Артём тестирует сайт в действии: зумит, кликает по локациям, листает фотки.

3. Наполнить контентом

Артём попросил вас выдать доступ к админке контент-менеджеру Ирине. Она будет следить за наполнением сайта: обновлять текст и загружать картинки. В админке сайта она чаще всего будет выполнять две операции: добавлять новые локации на карту и редактировать старые. В обоих случаях случаях алгоритм действий такой:

  1. Из закладок в браузере зайти в админку
  2. Перейти в список локаций
  3. Найти локацию по названию (здесь пригодится ModelAdmin.search_fields?)
  4. Перейти на страницу редактирования
  5. Обновить текстовки
  6. Залить новые картинки и удалить старые
  7. Выбрать самые яркие картинки и переместить их в начало списка

Примечательно, что и добавление новой локации и редактирование старой Ирина начинает со списка локаций. Получается, что страница админки со списком всех картинок, загруженных на сайт ей вообщем-то и не нужна. Страница эта может пригодится программистам для тестирования и отладки, но контент-менеджеру она не нужна.

4. Что за проект?

Другой программист случайно наткнулся на ваш репозиторий на GitHub. У него нет пока желания вникать в нюансы и делать что-либо. Он хочет понять где оказался и как это относится к нему.

  1. Бегло, не вчитываясь пролистал README
  2. Понял что это сайт
  3. Рядом заметил ссылку на опубликованную версию
  4. Перешёл на сайт, покликал, убедился что работает
  5. Вернулся в README
  6. Нашёл, с какого сайта были взяты данные
  7. Заметил, что это учебный проект

5. Хочу такой же

Другой программист, уже знакомый с проектом, хочет развернуть сайт у себя и слегка "доработать напильником".

  1. Скачал репозиторий к себе
  2. Следуя инструкциям быстро и легко установил зависимости
  3. По инструкции наполнил БД тестовыми данными
  4. Скопировал команду для запуска сайта
  5. По инструкции или из сообщений в консоли понял, что скрипт исправен и работает
  6. Нашёл ссылку, открыл в браузере, убедился что сайт работает
  7. Следуя инструкциям смог попасть в админку и отредактировать данные
  8. Полез читать код
  9. ...
  10. Profit!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment