Мобильное приложение ленты публикаций (аналог Patreon / Boosty), реализованное на React Native + Expo.
- React Native + Expo
- TypeScript
- React Query (серверный стейт)
- MobX (локальный UI стейт)
- FlatList (лента + пагинация)
-
Список постов:
- аватар автора
- имя автора
- превью текста
- обложка поста
- лайки и комментарии
-
Пагинация (cursor-based, infinite scroll)
-
Pull-to-refresh
-
Обработка ошибок (с кнопкой "Повторить")
- Размытие изображения
- Overlay с CTA
- Текст заменён на skeleton (серые блоки)
- Лайки и комментарии скрыты
- Локальное переключение лайка
- Мгновенное обновление UI
- Ограничение до 2 строк
- Кнопка "Показать больше" inline
Используется тестовый API:
https://k8s.mectest.ru/test-app
Особенности:
- Cursor-based пагинация
- Авторизация через Bearer UUID
- Paid посты возвращают пустой body
npm install
npx expo start
- Установить Expo Go на телефон
- Запустить проект (
npx expo start) - Подключиться:
- телефон и компьютер в одной Wi-Fi сети
- открыть Expo Go → проект появится автоматически
- использовать hotspot (раздать интернет с телефона)
- подключить компьютер к телефону
- QR не работает → использовать hotspot
- Не виден сервер → убедиться, что устройства в одной сети
src/
api/ # работа с API
components/ # UI компоненты (PostCard, Footer, etc.)
screens/ # экраны (Feed)
store/ # MobX store
Для стабильности UI используется реальный API с адаптацией данных под дизайн. MobX применён для локального управления состоянием лайков.
Dilara Efremova