Skip to content

Instantly share code, notes, and snippets.

@rspiridonov
Last active February 28, 2016 15:38
Show Gist options
  • Save rspiridonov/5083190 to your computer and use it in GitHub Desktop.
Save rspiridonov/5083190 to your computer and use it in GitHub Desktop.
Тестовое задание для RoR-разработчика

Используя фреймворк Ruby on Rails необходимо создать веб-приложение, которое содержит следующее:

Модели:

  • Экскурсия (аттрибуты: заголовок, описание, признак публикации)
  • Категории экскурсии (n-n). Например, историческая, городская, природная, музейная и т.д.
  • Город экскурсии (1-n).

Клиентская часть:

  • Главная страница: вывод списка всех городов, содержащих хотя бы одну экскурсию. Ниже города вывод экскурсий города (не больше пяти).
  • Страница города: вывод всех экскурсий в городе, экскурсия должна содержать ссылки на категории.
  • Страница категории: вывод всех экскурсий в категории
  • Страница экскурсии:
    1. вывести базовую информацию об экскурсии
    2. В сайдбаре вывести список уже просмотренных экскурсий (не более 3-х). Соответственно, среди просмотренных экскурсий не должно быть той, на странице которой мы находимся. Должна быть возможность удаления просмотренной экскурсии из списка. Если количество просмотренных экскурсий превышает ограничение в 3 экскурсии, то действуем по принципу FIFO.

Администрирование:

  • добавление, редактирование экскурсий
  • интерфейс для переводчиков контента, который включает в себя следующие пункты:
    1. Страница в админке, на которую могут зайти контент-менеджеры (КМ), где они увидят форму для редактирования предложения без описания и смогут заполнить это описание. Условно, /admin/product_editings/new или /admin/products/add_description (URL может отличаться).
    2. В случае, если КМ отредактировал предложение, его редиректит на форму редактирования другого предложения (следующего по порядку) без описания, и далее все по тому же механизму, пока не останется непереведенных предложений.
    3. Возможность редактирования описания предложения.
    4. Возможность просмотреть историю редактирования конкретного предложения (минимум - информация о том, кто добавил перевод; в идеале - информация обо всех редактированиях предложения (включая текст, который был изменен).

Приложение должно содержать тестовые данные (fixtures), достаточные для нормальной демонстрации приложения. Также необходимо написать тесты, покрывающие наиболее важную на ваш взгляд функциональность. Интерфейс приложения можно накидать на Twitter Bootstrap, дизайн не принципиален.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment