Новый проект – читалка RSS

В наши дни, когда социальные сети для многих являются синонимом интернета, собрать свою личную ленту, в которую никакие алгоритмы ничего не подсунут – особое удовольствие. Хоть RSS уже и древняя технология, может быть не модная, но каждый уважающий себя сайт умеет выдавать свой контент в виде фида. А что уж говорить о хороших сайтах, посвященных разработке, и блогах разработчиков!..

Идея

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

Основные фичи

  • Регистрация и аутентификация пользователей ✅
  • Подписка на RSS-ленты ✅
  • Фоновая загрузка свежего контента в лентах по расписанию ✅
  • Responsive UI для удобной работы с мобильных устройств ✅
  • Добавление подписок в папки
  • Поиск по подпискам
  • Горячие клавиши для управления сайтом с клавиатуры
  • Отправка сводки по электронной почте в определенное время

Значком с галочкой здесь и ниже я отметил то, что уже сделано (возможно, частично) или интегрировано в проект на момент написания поста (начало октября 2023).

Также крутится в голове идея реализовать загрузку определённых материалов целиком и сохранении их в архиве, но пока она ещё не оформилась в конкретику.

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

Что касается технической реализации, то после нескольких месяцев работы с Vue, Nuxt, Next.js и React мне захотелось сделать максимально компактный и простой – но при этом, функциональный! – фронтенд с минимумом JavaScript. В качестве стека я выбрал:

  • Django ✅
  • PostgreSQL
  • Celery ✅
  • nginx ✅
  • UI: Tailwind CSS ✅

И ещё технические требования к проекту:

  • Запуск через Docker Compose ✅
  • CI/CD (тесты + deploy на VDS от TimeWeb) через GitHub Actions – ветка main всегда должна быть задеплоена ✅
  • Работа по HTTPS ✅. Выяснил интересный факт, что при работе через HTTP даже нельзя расшарить страничку через Web API navigator.share(), а эта возможность входит в мой список фич!

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

Сейчас разработка идёт полным ходом, и приложение выглядит вот так:

Screenshot

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

Вы можете сами познакомиться с приложением, посмотреть код на GitHub, или даже присоединиться к разработке, если есть желание – буду рад, пишите!

Продолжение следует!

Отправить сообщение

С помощью формы ниже, вы можете связаться с автором сайта. Пожалуйста, укажите ваш ник в Телеграме или e-mail, чтобы я смог вам ответить!