Создать простое приложение, которое импортирует все коммиты из репозитория на GitHub в базу данных (использовать PostgreSQL).
Функционал
-
На главной странице приложения вы вводите имя пользователя GitHub и его репозиторий и инициируете импорт (перед новым импортом очищать таблицы).
-
Пример данных для импорта для пользователя
thoughtbot
и репозиторияguides
: https://api.github.com/repos/thoughtbot/guides/commits -
В БД создать 2 таблицы:
-
commits
(поля: дата коммита, user_id, хеш коммита, описание коммита); -
users
(поля: имя, email).
-
-
Результат импорта вывести в виде таблицы с постраничной разбивкой.
-
Добавить форму поиска коммитов по email пользователя.
-
Реализовать редактирование имени пользователя у какого-либо коммита, которое производилось бы асинхронно без перезагрузки страницы (обновление модели
User
и у всех коммитов на видимой странице). -
Реализация импорта должна учитывать, что есть репозитории с десятками тысяч коммитов.
Требования
-
Написать тесты на RSpec по импорту и моделям.
-
Результатом должно стать развернутое приложение (например, на Heroku) и ссылка на GitHub.