Update 35 files

- /src/api.ts
- /src/lib/utils.ts
- /src/lib/neoApi.ts
- /src/lib/mongodb.ts
- /src/lib/favoritesApi.ts
- /src/lib/models/Favorite.ts
- /src/hooks/useTMDBMovies.ts
- /src/hooks/useImageLoader.ts
- /src/hooks/useMovies.ts
- /src/types/movie.ts
- /src/components/SearchResults.tsx
- /src/components/SettingsContent.tsx
- /src/components/MovieCard.tsx
- /src/components/FavoriteButton.tsx
- /src/components/admin/MovieSearch.tsx
- /src/app/page.tsx
- /src/app/movie/[id]/page.tsx
- /src/app/movie/[id]/MovieContent.tsx
- /src/app/api/movies/upcoming/route.ts
- /src/app/api/movies/search/route.ts
- /src/app/api/movies/top-rated/route.ts
- /src/app/api/movies/[id]/route.ts
- /src/app/api/movies/popular/route.ts
- /src/app/api/favorites/route.ts
- /src/app/api/favorites/check/[mediaId]/route.ts
- /src/app/api/favorites/[mediaId]/route.ts
- /src/app/tv/[id]/TVShowContent.tsx
- /src/app/tv/[id]/TVShowPage.tsx
- /src/app/tv/[id]/page.tsx
- /src/app/favorites/page.tsx
- /src/configs/auth.ts
- /next.config.js
- /package.json
- /README.md
- /package-lock.json
This commit is contained in:
2025-01-05 01:43:34 +00:00
parent 3c3f58c7d3
commit 0aa6fb6038
35 changed files with 1656 additions and 548 deletions

135
README.md
View File

@@ -39,94 +39,49 @@ Neo Movies - это современная веб-платформа для пр
- Git
- npm
## Установка
## Начало работы
1. **Клонируйте репозиторий:**
```bash
git clone https://gitlab.com/foxixus/neomovies.git
cd neomovies
```
2. **Установите зависимости:**
```bash
npm install
```
3. **Создайте файл `.env` в корневой директории и добавьте следующие переменные:**
```env
# База данных MongoDB
MONGODB_URI=your_mongodb_uri
# NextAuth конфигурация
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# Email конфигурация (для подтверждения регистрации)
GMAIL_USER=your_gmail@gmail.com
GMAIL_APP_PASSWORD=your_app_specific_password
# TMDB API (для получения информации о фильмах)
NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key
NEXT_PUBLIC_TMDB_ACCESS_TOKEN=your_tmdb_access_token
# JWT конфигурация
JWT_SECRET=your_jwt_secret
# Lumex Player URL
NEXT_PUBLIC_LUMEX_URL=your_lumex_player_url
```
4. **Запустите проект:**
```bash
# Режим разработки
npm run dev
# Сборка для продакшена
npm run build
npm start
```
## Получение API ключей
### TMDB API
1. Создайте аккаунт на [TMDB](https://www.themoviedb.org/)
2. Перейдите в настройки профиля -> API
3. Создайте новое API приложение
4. Скопируйте API ключ и Access Token
### Google OAuth
1. Перейдите в [Google Cloud Console](https://console.cloud.google.com/)
2. Создайте новый проект
3. Включите Google OAuth API
4. Создайте учетные данные OAuth 2.0
5. Добавьте разрешенные URI перенаправления:
- http://localhost:3000/api/auth/callback/google
- https://your-domain.com/api/auth/callback/google
### Gmail App Password
1. Включите двухфакторную аутентификацию в аккаунте Google
2. Перейдите в настройки безопасности
3. Создайте пароль приложения
4. Используйте этот пароль в GMAIL_APP_PASSWORD
## Разработка
### Структура проекта
1. Клонируйте репозиторий:
```bash
git clone https://gitlab.com/foxixus/neomovies.git
cd neomovies
```
neo-movies-web/
├── src/
│ ├── app/ # App Router pages
│ ├── components/ # React компоненты
│ ├── hooks/ # React хуки
│ ├── lib/ # Утилиты и API
│ ├── models/ # MongoDB модели
│ └── styles/ # Глобальные стили
├── public/ # Статические файлы
└── package.json
2. Установите зависимости:
```bash
npm install
```
3. Создайте файл `.env` и добавьте следующие переменные:
```env
NEXT_PUBLIC_API_URL=https://neomovies-api.vercel.app
```
4. Запустите приложение:
```bash
npm run dev
```
Приложение будет доступно по адресу [http://localhost:3000](http://localhost:3000)
## API
Приложение использует отдельный API сервер. API предоставляет следующие возможности:
- Поиск фильмов и сериалов
- Получение детальной информации о фильме/сериале
- Оптимизированная загрузка изображений
- Кэширование запросов
## Структура проекта
```
src/
├── app/ # App Router и страницы
├── components/ # React компоненты
├── lib/ # Утилиты и API клиенты
├── types/ # TypeScript типы
└── utils/ # Вспомогательные функции
```
## 👥 Авторы
@@ -135,7 +90,7 @@ neo-movies-web/
## 📄 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).
Этот проект распространяется под лицензией Apache-2.0. Подробности в файле [LICENSE](LICENSE).
## 🤝 Участие в проекте
@@ -146,6 +101,12 @@ neo-movies-web/
3. Внесите изменения
4. Отправьте pull request
## Благодарности
- [TMDB](https://www.themoviedb.org/) за предоставление API
- [Vercel](https://vercel.com/) за хостинг API
## 📞 Контакты
Если у вас возникли вопросы или предложения, свяжитесь с нами: