GitHub: https://github.com/inboxly
Статус: Архивный (разработка приостановлена)
Inboxly - это open-source агрегатор RSS/Atom фидов, который я создал в 2021 году как альтернативу Feedly. Проект позволяет подписываться на контент с любых сайтов и читать все в одном месте в удобном формате.
Мне нравился Feedly, но некоторые функции были платными, а другие работали не так, как хотелось. Решил сделать pet-проект, которым сам бы пользовался. Заодно хотел потренировать навыки на реальной задаче и занять свободное время чем-то полезным, чтобы не растерять форму.
Изначально делал для себя и не планировал публиковать в open-source, но потом подумал "почему бы и нет" - может кому-то пригодится.
Спроектировал систему из трех независимых компонентов. Такая архитектура позволяет разрабатывать и переписывать части проекта независимо друг от друга, пока соблюдается API-спецификация.
Репозиторий: inboxly/app
Кроссплатформенное приложение для ПК и смартфонов. Предоставляет пользовательский интерфейс и работает как клиент для backend API.
Репозиторий: inboxly/server
Серверная часть проекта. Управляет подписками пользователей, хранит контент, взаимодействует с библиотекой Receiver для получения данных.
Репозиторий: inboxly/receiver
Composer-библиотека для поиска и получения контента с сайтов в форматах RSS и Atom. Выделил в отдельный пакет, потому что такая библиотека может использоваться и в других проектах.
Библиотека умеет не только парсить фиды, но и обогащать контент. Для "проблемных" сайтов можно регистрировать собственные правила парсинга без изменения внутренней реализации.
Разрабатывал не постоянно, а время от времени, когда было свободное время. Четкого плана или дедлайнов не было - просто делал то, что казалось нужным. Были "черновики" задолго до этой реализации, но конкретно этой версией занимался в 2021 году.
Работал один. Неразрешимых технических сложностей не было - парсинг RSS/Atom достаточно стандартная задача.
Проект получился рабочим и функциональным. Все три компонента опубликованы на GitHub как open-source.
Сейчас проект заброшен - не стало хватать свободного времени, да и личная потребность пропала. Плюс заметил, что современные сайты все реже поддерживают RSS/Atom - многие считают эти технологии устаревшими. Привычки пользователей тоже изменились.
Но как опыт проектирования многокомпонентной системы и работы с кроссплатформенными технологиями - проект был полезным.