# CampFire Critics CampFire Critics — это веб-приложение, построенное на React, Vite и Tailwind CSS, предназначенное для управления медиаконтентом и пользовательскими отзывами. Приложение включает аутентификацию, управление медиа и административные функции для модерации контента. ## Функции - **Аутентификация пользователей**: Вход, регистрация и управление профилем через Supabase. - **Управление медиа**: Просмотр, поиск и отображение медиаконтента с каруселью и карточным интерфейсом. - **Система отзывов**: Подача и просмотр отзывов с рейтинговым графиком для визуализации обратной связи. - **Админская панель**: Управление медиа и отзывами через AdminMediaPage. - **Адаптивный дизайн**: Построен с использованием Tailwind CSS для адаптивной верстки на разных устройствах. ## Технологии - **Фронтенд**: React, Vite, Tailwind CSS - **Бэкенд**: Supabase (Аутентификация, База данных) - **Медиа API**: Интеграция с TMDB (The Movie Database) для получения данных о медиа - **Управление состоянием**: React Context API (AuthContext, MediaContext) ## Настройка 1. **Клонируйте репозиторий**: ```bash git clone https://github.com/your-username/campfire-critics.git cd campfire-critics ``` 2. **Установите зависимости**: ```bash npm install ``` 3. **Установите Supabase CLI** (если не установлен): ```bash npm install -g supabase ``` 4. **Настройте переменные окружения**: - Переименуйте `.env.example` в `.env` и добавьте свои данные Supabase: ``` VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key ``` 5. **Запустите сервер разработки**: ```bash npm run dev ``` 6. **Запустите миграции Supabase** (если необходимо): ```bash npm run supabase:start ``` ## Структура проекта ``` src/ ├── App.jsx # Основной компонент приложения ├── main.jsx # Точка входа ├── pages/ # Компоненты страниц (Главная, Вход, Админ и т.д.) ├── components/ # Воспользуемые UI-компоненты ├── contexts/ # Провайдеры React Context (Auth, Media) ├── services/ # Утилиты API и сервисы (Supabase, TMDB) └── assets/ # Статические файлы ``` ## Вклад в проект 1. Откройте issue для обсуждения новой функции или исправления 2. Сделайте fork репозитория 3. Создайте новую ветку (`git checkout -b feature-name`) 4. Зафиксируйте изменения 5. Запушите ветку (`git push origin feature-name`) 6. Создайте Pull Request ## Требования - Node.js 18+ - npm 8+ ## Лицензия MIT License. Подробнее см. [LICENSE](LICENSE).