Перед закрытием 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качать можно тут. Как устанавливать написано тут.
Детальки
Качаем исходники:
git clone -b latest http://ift.tt/1vofhaj
Перед сборкой нужно подстроить индивидуальные параметры сборки вашего экземпляра сервера. Для этого в корневой директории проекта копируем файл 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 upload. Перед деплоем Ant спросит пароль к GMail аккаунту. Если деплой завис, что изредка бывает, то его нужно остановить с помощью Ctrl-C и выполнить ant rollback. После этого можно опять пробовать ant upload.
Если все прошло нормально, ваш личный сервер новостей будет доступен по адресу %application.identifier%.appspot.com. Админка, с логами, графиками и базой, по адресу appengine.google.com . Желаю приятного использования!
Бонус
Помимо РСС можно тянуть новости из твиттера. Для этого нужен твиттер аккаунт и ключи — consumer key и consumer secret. Получить их можно здесь.
Полученные ключи нужно прописать в build.properties.local в переменные twitter.apiKey и twitter.apiSecret, соответственно. После этого сервер нужно передеплоить.
Заключение
Скриншоты:
Список категорий:
Список фидов в категории:
Список новостей в фиде:
Отображение анонса новости:
Страница проекта на GitHub здесь.
Буду рад замечаниям, пожеланиям, вопросам и критике. У меня еще есть ряд идей для воплощения в рамках этого проекта, но, возможно, кто-то подскажет что-то еще.
Спасибо за внимание.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий