Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Приложение для поиска фильмов
Консольная утилита для поиска и экспорта данных о фильмах из базы TMDb.

Репозиторий GitHub: https://github.com/fedyaqq34356/Movie-Search-App

Приложение для поиска фильмов — инструмент командной строки для работы с базой данных The Movie Database (TMDb). Приложение позволяет искать фильмы по жанрам, получать детальную информацию и экспортировать данные в текстовые файлы. Проект демонстрирует навыки работы с REST API, модульной архитектурой, обработкой данных и логированием.

Основные возможности:
поиск по жанрам, пагинация (1 страница = 20 фильмов), экспорт данных (названия, описания, рейтинги, провайдеры), поддержка регионов, логирование операций, обработка ошибок.

Используемые технологии:
Python 3.7+, библиотеки requests, python-dotenv, logging. API TMDb v3, Bearer token. Принципы разработки: модульность, читаемость, DRY.

Структура проекта:
Movie-Search-App/
├── main.py # Точка входа и координация рабочего процесса
├── api.py # Запросы и ответы API TMDb
├── config.py # Конфигурация и переменные окружения
├── display.py # Пользовательский интерфейс и обработка ввода
├── export.py # Операции записи в файл
├── logger.py # Конфигурация логирования
├── .env # Учетные данные API (не отслеживаются)
├── requirements.txt # Зависимости Python
└── README.md # Документация

Ключевые решения:
хранение токенов в .env, задержки между запросами (0.5 сек), сбор всех типов провайдеров (подписка, бесплатные, с рекламой, аренда, покупка), многоуровневое логирование (DEBUG, INFO, WARNING, ERROR), обработка ошибок с помощью try-except и повторными попытками.

Примеры использования:
выбор жанра, ввод количества страниц, экспорт данных в файлы (названия, описания, рейтинги, провайдеры). Можно изменять регион и язык в конфиге для корректного отображения провайдеров.

Производительность:
1 страница (20 фильмов) ~1 секунда, 10 страниц ~10 секунд, 50 страниц ~50 секунд. Надежность и масштабируемость обеспечены, поддержка до 500 страниц, эффективная память, минимальная нагрузка на API.

Возможные улучшения:
краткосрочные — экспорт в JSON, аргументы CLI, поддержка сериалов, кэширование жанров; долгосрочные — GUI, база данных SQLite, параллельные запросы, обертка для REST API, юнит и интеграционные тесты.

Установка:
git clone https://github.com/fedyaqq34356/Movie-Search-App.git
cd Movie-Search-App
pip install -r requirements.txt

Ссылки:
GitHub https://github.com/fedyaqq34356/Movie-Search-App

Лицензия:
GNU General Public License v3.0. Проект свободный, можно использовать, модифицировать и распространять согласно условиям GPL v3.
Детали работы
Добавлена 1 января
124 просмотра
Фрилансер
Георгій Жуков
Украина Киев  23  0

Свободен для работы Свободен для работы
23 Сейфа завершены
На сервисе 9 месяцев 16 дней