Sento Sango - Portfolio

Inboxly

GitHub: https://github.com/inboxly

Статус: Архивный (разработка приостановлена)

Описание

Inboxly - это open-source агрегатор RSS/Atom фидов, который я создал в 2021 году как альтернативу Feedly. Проект позволяет подписываться на контент с любых сайтов и читать все в одном месте в удобном формате.

Зачем я это делал

Мне нравился Feedly, но некоторые функции были платными, а другие работали не так, как хотелось. Решил сделать pet-проект, которым сам бы пользовался. Заодно хотел потренировать навыки на реальной задаче и занять свободное время чем-то полезным, чтобы не растерять форму.

Изначально делал для себя и не планировал публиковать в open-source, но потом подумал "почему бы и нет" - может кому-то пригодится.

Как устроен проект

Спроектировал систему из трех независимых компонентов. Такая архитектура позволяет разрабатывать и переписывать части проекта независимо друг от друга, пока соблюдается API-спецификация.

App - Клиентское приложение

Репозиторий: inboxly/app

Кроссплатформенное приложение для ПК и смартфонов. Предоставляет пользовательский интерфейс и работает как клиент для backend API.

Технологический стек

Server - Backend API

Репозиторий: inboxly/server

Серверная часть проекта. Управляет подписками пользователей, хранит контент, взаимодействует с библиотекой Receiver для получения данных.

Технологический стек

Receiver - Библиотека для парсинга

Репозиторий: inboxly/receiver

Composer-библиотека для поиска и получения контента с сайтов в форматах RSS и Atom. Выделил в отдельный пакет, потому что такая библиотека может использоваться и в других проектах.

Библиотека умеет не только парсить фиды, но и обогащать контент. Для "проблемных" сайтов можно регистрировать собственные правила парсинга без изменения внутренней реализации.

Технологический стек

Как разрабатывал

Разрабатывал не постоянно, а время от времени, когда было свободное время. Четкого плана или дедлайнов не было - просто делал то, что казалось нужным. Были "черновики" задолго до этой реализации, но конкретно этой версией занимался в 2021 году.

Работал один. Неразрешимых технических сложностей не было - парсинг RSS/Atom достаточно стандартная задача.

Что получилось

Проект получился рабочим и функциональным. Все три компонента опубликованы на GitHub как open-source.

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

Но как опыт проектирования многокомпонентной системы и работы с кроссплатформенными технологиями - проект был полезным.