90 lines
3.7 KiB
Markdown
90 lines
3.7 KiB
Markdown
# 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).
|