Итоговая работа
Итоговая работа 📌 Оглавление Функциональность Технологии Запуск проекта Тестирование Демо Лицензия
✨ Функциональность ✅ Бесконечная лента – загрузка новостей при скролле ✅ Категории – бизнес, технологии, спорт и др. ✅ Кеширование – TanStack Query для хранения данных ✅ Фейковые данные – показ при ошибках API ✅ Адаптивный UI – PandaCSS для стилей ✅ Оптимизация – виртуальный скролл (если подключен)
🛠 Технологии Категория: Технологии Фронтенд: React 18, TypeScript, Vite Стили: PandaCSS (CSS-in-JS) Состояние: Zustand (UI) + TanStack Query (API) API: Axios + MSW (моки) Тесты: Jest, Cypress, MSW
🚀 Запуск проекта
-
Клонирование репозитория git clone https://github.com/tauren81/CifraReactPractice.git cd newsfeed-app
-
Установка зависимостей npm install
yarn install
- Установка зависимостей npm run dev
yarn dev
- Запуск в режиме разработки npm run dev
yarn dev
Откройте http://localhost:3000 в браузере
- Сборка для production npm run build
yarn build
- Запуск сервера для production-сборки npm run preview
yarn preview
🧪 Тестирование
- Юнит-тесты (Jest) npm test
yarn test
-
E2E-тесты (Cypress) bash npm run cypress:open # GUI-режим npm run cypress:run # CLI-режим
-
Компонентные тесты bash npm run cypress:ct # Тестирование React-компонентов
🎥 Демо Demo GIF (замените на реальное демо, если есть)
👉 Live-демо: https://deploy-preview-5--shiny-starlight-625b64.netlify.app https://tauren81.github.io/CifraReactPractice/
📜 Лицензия MIT License.
📌 Дополнительно 🔹 Используйте .env для API-ключа: VITE_NEWS_API_KEY=your_api_key_here
🔹 Фичи в разработке: Офлайн-режим (Service Workers) Персонализация новостей Темная тема