DOU Проектор: GeekInformer — современный новостной агрегатор для гиков

В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. .

Идея

Меня зовут Тимофей Лавренюк, работаю в компании Provectus, занимаюсь front-end разработкой.

Первые попытки. Желание сделать что-то свое посещало меня и раньше. Еще во времена обучения я принимал участие во всеукраинском IT-чемпионате «Золотой Байт» с приложением для туристических фирм. С ребятами мы сделали приложение, где жители города или туристические фирмы создают маршруты для туристов. Реализовали дополненную реальность — снимаешь камерой и метки показывают, куда идти. Выиграли тогда номинацию «стартапы», где главным призом была поездка в Кремниевую долину на одну неделю. После общения со многими стартаперами мы поняли, что приложение не взлетит.

Но вдохновившись поездкой, мы решили создать Muzarium — приложение, которое делает посещение музеев более увлекательным и интересным. Мы включили в него вопросы, элементы квеста, договорились с десятком музеев, ездили по выставкам. В итоге все потухли, проект до сих пор делается, неизвестно когда выпустится и запустится ли вообще. Наши основные ошибки на тот момент заключались в том, что мы не смогли сделать стабильный проект и делали его очень долго. Но на будущее все учли и стали двигаться дальше.

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

Много лет я пользовался RSS читалками, но этого всегда было недостаточно. В сети публикуют много интересных видеообзоров, иногда хочется послушать подкасты, но нет нормального места, где бы они все были собраны вместе.

Также хотелось, чтобы в одном месте можно было собрать весь контент о конкретном тренде. Например, когда Google анонсировал Google Pixel, через несколько дней хотелось бы почитать новости о нем, посмотреть обзоры, прослушать подкасты.

С целью решить эти проблемы и создавался проект GeekInformer.

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

Реализация

Вначале я решил не делать back-end и нативное Android приложение, минимизировав затраты времени на разработку. Я сделал Cordova приложение под Android (по сути портированный сайт), написал минимальный back-end с помощью облачной базы Parse (от Facebook). Дизайн также пришлось сделать самому. Чтобы с ним особо не возиться, решил использовать Material Design. Старался много времени уделить UX и проработке мелочей. Первую версию получилось написать всего за 3 месяца.

Затем зарелизил проект и выложил его обзор на youtube канале, где мы несколько лет с другом снимали и выкладывали обзоры устройств и гаджетов. И далее без раскрутки стали появляться пользователи, некоторые блогеры даже написали обзоры. Стало понятно, что смысл в проекте есть. В дальнейшем Facebook закрыл Parse, и это стало отличным поводом начать разработку полностью новой версии — свой back-end и база, обновление front-end, изменение дизайна и нативное Android приложение.

Контент. Новостные ресурсы в базу я добавлял самостоятельно. Смотрел, что каждый из себя представляет. Это как популярные новостные ресурсы стран СНГ, так и блогеры с хорошим контентом, со многими из них я списывался лично. Блогерам очень понравилась идея проекта, так как он позволял показывать их новости тем людям, которые о них никогда не слышали. Например, если пользователь читал новости о Google Pixel, там показывались новости и от именитых новостных ресурсов, и от малоизвестных блогеров. Все были равны, объединяло лишь то, что у них был контент о Google Pixel.

В базе сейчас находится 150 ресурсов. От них все время собираются новости, видео и подкасты, затем очищаются от мусора, нормализуются и добавляются в базу и кэш.

Пользователь может прямо на сайте открыть новость, посмотреть видео и послушать подкаст.

Когда человек регистрируется, его просят подписаться минимум на 5 ресурсов. То есть ему дают список самых популярных и читаемых сайтов. Пользователь выбирает самые релевантные для себя, и у него формируется своя новостная лента. В дальнейшем он пополняет список своих новостных источников из базы на свое усмотрение.

Также он может подписываться на различные тренды. Это может быть гаджет, устройство, сервис, ОС и т.п.

Технологии. Back-end у нас на NodeJS. База — MongoDB. Для кэша использую Redis, для поиска — Elastic Search. Все хостится на Azure. Сайт работает по протоколу HTTP2 с TSL шифрованием.

Front-end — на React(ES7) + Redux. Сайт рендерится на сервере. Сборка — WebPack 2. Также используется Service Worker для кэширования новостей и работы сайта Offline.

Android приложение пока на Java 7 + Retrolambda. Используется RxJava, Retrofit 2, Realm и EventBus. Думаем перейти на Kotlin.

Думаю, для подробного описания каждого из этапов разработки есть смысл сделать отдельную статью, так как за год произошло много чего интересного, да и статья будет слишком большая. Но за время разработки проекта я сделал для себя важное открытие. Перед разработкой проекта я был простым front-end разработчиком, который хотел поработать со связкой React+Redux, а после уже пришлось освоить разработку на NodeJS, настройку Ubuntu и Nginx для размещения проекта, деплой и настройку Redis с Elastic Search. Также пришлось освоить Java и разработку под Android, чтобы помогать стажерам и вовремя делать рефактор кода и добавлять различные мелочи. Все это показало, что можно не зацикливаться на чем-то одном и стирать грани между различными языками и технологиями. Не везде это будет полезно, но когда создаешь стартап и у тебя минимум разработчиков — must have.

Команда. Так совпало, что в Provectus, компании, где я работаю, есть внутрикорпоративные курсы для PM-ов, называются Формула 1. В рамках курса после прослушанных лекций мы берем стажеров и запускаем с ними тестовые проекты. Для нас это опыт управления, для них — первые шаги в IT.

Одним из таких проектов в рамках последней стажировки и стала версия 2.0 проекта GeekInformer. Стажировка началась с 9 человек: 2 front-end разработчика, 2 тестировщика и 5 Android разработчиков. Позже присоединился один дизайнер, и я был как PM + Dev.

До конца со мной дошел один Android разработчик (Владимир Захаров), который несмотря на то, что работает, продолжает помогать мне и сейчас. Эта тема ему очень интересна. Весьма инициативный парень, предлагает свои идеи, сам находит и исправляет баги.

Результаты

Сейчас в Play Market у приложения уже около 5000 скачиваний и 400 отзывов. Сам сайт в среднем посещает 100-200 пользователей. Ресурс запустили, и останавливаться не хочу. Все уже работает, но мы исправляем мелкие ошибки, повышаем стабильность.

Сейчас в тренде искусственный интеллект и машинное обучение. Хочется сделать рекомендательную систему на основе поведения пользователя — персонализированную новостную ленту. Также хочется расширить тематику. Например, сейчас тематика — «технологии», в будущем я хочу обязательно ввести «игры» и «разработку». Будет удобно в одном месте читать контент о конкретной игре или о каком-то фреймворке. Каждая тематика рассчитана на конкретную аудиторию.

Уже начал создавать версию под iOS на Swift 3. Также мне помогают с разработкой нативного приложения под Windows 10.

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

Похожие статьи:
Copilot for Business — інструмент дописування коду на основі AI від GitHub відкрили для загального доступу. Інструмент коштуватиме розробникам...
Рішення про найм програмістів та інших...
Бренд Alcatel OneTouch представил новый смартфон под названием Fierce XL. Это довольно простая по характеристикам модель, работающая под...
It ain’t what you don’t know that gets you into trouble. It’s what you know for sure that just ain’t so.Mark Twain Вступление Привет, меня зовут Ян, и я стараюсь...
Бізнес закликає продовжити пільговий режим оподаткування для ІТ-галузі до 2028 року. Йдеться про спрощений режим...
Яндекс.Метрика