Мы в UCHi.RU пишем на руби и нам часто приходится иметь дело с обработкой JSON. Ещё мы проводим онлайн-олимпиады и генерируем pdf-дипломы на лету. Поэтому наше задание про это.
Нужно по адресу публичного репозитория на гитхабе найти трёх его самых активных контрибьюторов и сгенерировать для них простые pdf-дипломы и архив с ними.
Спроектируйте приложение, напишите тесты проверяющие его работоспособность, и разверните его на любой публичной платформе (например, на бесплатном аккаунте в Хероку). Код, конечно же, должен быть на Гитхабе.
Примеры экранов приложения:
Пример PDF диплома:
- сайт - https://pacific-harbor-69812.herokuapp.com
- репозиторий - https://github.com/dog-64/gra
- доступ к Github Api анонимный, т.е ограниченный 50 запросами в час. Для тестирования и оценки достаточно. Но, при необходимости, несложно добавить авторизованный доступ.
- heroku-scheduler не подключен, ибо требует указания кредитки. Но rake задача для него написана - committers:zap. Задача чистит временные файлы pdf и zip.
- каждый запрос по репозиторию приводит к запросу к Api Guthub. Как развитие темы, можно было бы его закешировать примерно на час
- можно было бы отказаться от использования ActiveRecord, но тогда ссылки на создание zip-архивов получились бы громоздкими. Они бы содержали данные для всех pdf архива. И были бы проблемы при росте числа этих pdf.
- heroku login
- heroku create - на этом шаге будет сообщен адрес сайта, сейчас это http://pacific-harbor-69812.herokuapp.com
- git push heroku master
- heroku run rake db:migrate
- heroku ps:scale web=1