Новый проект – читалка RSS
В качестве своего нового проекта я решил реализовать программу, которой пользуюсь каждый день много лет, в виде веб-приложения. Речь идёт о NetNewsWire – это, пожалуй, лучшая читалка RSS на маке и iOS.
В наши дни, когда социальные сети для многих являются синонимом интернета, собрать свою личную ленту, в которую никакие алгоритмы ничего не подсунут – особое удовольствие. Хоть 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()
, а эта возможность входит в мой список фич!
Что получилось
Сейчас разработка идёт полным ходом, и приложение выглядит вот так:
Я уже им пользуюсь каждый день, читаю там теперь свои RSS-подписки. Таким образом удаётся оперативно вылавливать все недоработки и баги.
Вы можете сами познакомиться с приложением, посмотреть код на GitHub, или даже присоединиться к разработке, если есть желание – буду рад, пишите!
Продолжение следует!
Отправить сообщение
С помощью формы ниже, вы можете связаться с автором сайта. Пожалуйста, укажите ваш ник в Телеграме или e-mail, чтобы я смог вам ответить!