Октябрь | 2014 | SavePearlHarbor
Опубликовано: 01.09.2018
Привет всем!Перед закрытием Google Reader в 2013-м году захотелось написать что-то свое на эту тему. Чтобы оно собирало новости из RSS и было видно, что читал, а что нет. Плюс было желание поработать с GAE и Angular. Позднее, после нескольких разочарований в собственных CSS cross-browser скиллах, к этой компании присоединился еще и IonicFramework. То, что в итоге получилось, на мой взгляд, довольно удобно, используется мной ежедневно и может быть кому-то тоже пригодится.
Приглашаю под кат всех желающих самостоятельно собрать и запустить на Гугловых серверах свой личный агрегатор новостей.
Инструменты
Java7 JDK. На всякий случай ссылка , где взять инсталлятор; Пустое приложение на GAE аккакунте. Как сделать описано здесь ; Git. Думаю, любой. Помимо скачивания исходников, git.exe понадобится еще и при сборке. Я использую тот, что приезжает с инсталлятором GitHub for Windows; GAE SDK for Java. Взять его можно здесь . Распаковать в любой каталог, и полный путь к этому каталогу прописать в переменную окружения GAE_HOME; Ant. Cкачать можно тут . Как устанавливать написано тут .Детальки
Качаем исходники:
St1m - Октябрь (+ текст песни)
git clone -b latest https://github.com/igors48/nmdService.git
Перед сборкой нужно подстроить индивидуальные параметры сборки вашего экземпляра сервера. Для этого в корневой директории проекта копируем файл build.properties.template , копию называем build.properties.local . Открываем в любом текстовом редакторе и прописываем значения для таких параметров:
email — GMail адрес соответствующий аккаунту с которого вы создавали пустое GAE приложение; application.identifier — идентификатор вашего GAE приложения; git.executable — путь к git.exe или как он называется в вашем случае. Здесь нужно обратить внимание на слеши. Они должны быть такими — "/"Остальные параметры пока можно оставить как есть.
Сохраняем, закрываем.
Сборка и запуск
Для проверки попробуем поднять сервер локально. Для этого запускаем dev_server.bat . Если все пройдет успешно, то сервер должен отвечать по адресу localhost:8080 . После проверки локальный сервер нужно остановить с помощью Сtrl-C . Если просто закрыть окно, то сервер останется висеть на 8080-м порту молчаливым упреком и убить его можно будет только из менеждера процессов. По крайней мере, под Windows это так.
Теперь финальный шаг. «Ради этого все и писалось (с)». Деплоим на GAE. Для этого выполняем ant update . Перед деплоем Ant спросит пароль к GMail аккаунту. Если деплой завис, что изредка бывает, то его нужно остановить с помощью Ctrl-C и выполнить ant rollback . После этого можно опять пробовать ant update .
Если все прошло нормально, ваш личный сервер новостей будет доступен по адресу %application.identifier%.appspot.com . Админка, с логами, графиками и базой, по адресу appengine.google.com . Желаю приятного использования!
Бонус
Помимо РСС можно тянуть новости из твиттера. Для этого нужен твиттер аккаунт и ключи — consumer key и consumer secret . Получить их можно здесь .
Полученные ключи нужно прописать в build.properties.local в переменные twitter.apiKey и twitter.apiSecret , соответственно. После этого сервер нужно передеплоить.
Заключение
Скриншоты:
Список категорий:
Список фидов в категории:
Список новостей в фиде:
Отображение анонса новости:
Страница проекта на GitHub здесь .
Буду рад замечаниям, пожеланиям, вопросам и критике. У меня еще есть ряд идей для воплощения в рамках этого проекта, но, возможно, кто-то подскажет что-то еще.
Спасибо за внимание.