В проекте использовал: Devise, Faker, Rspec, Capybara, Ajax

Демо версия: test-task-work.herokuapp.com

Задание включает в себя:

  • Сгенерировать новый проект со свежей версией Rails и базой данных Postgres. Желательно использовать slim.

  • Подключить дефолтную авторизацию через Devise.

  • Создать модель Company (с минимальным набором полей - код страны, название).

  • Создать модель Person (имя, фамилия). Каждый человек может быть привязан к одной из компаний

  • Написать seed-файл, который сгенерирует 50 компаний и по 2-10 человек-сотрудников. Можно, например, использовать гем faker.

Реализовать следующий функционал:

  • После авторизации пользователь видит список имеющихся компаний.

  • Для отображения названия страны по коду можно использовать гем countries.

  • На странице компании отображается ее название и список сотрудников

  • В списке компаний и в списках сотрудников рядом с каждым пунктом должна быть иконка с пустой/заполненной звездочкой (можно взять из Bootstrap).

  • По клику на иконку компания или сотрудник добавляется в избранное текущего пользователя, а иконка меняет свое состояние без перезагрузки страницы.

  • По адресу localhost:3000/favorites отображать одним списком компании и людей, которые пользователь добавил в избранное.

  • Упорядочить список по дате добавления от новых к старым.

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