Movie Search App
Movie Search App
Консольная утилита для поиска и экспорта данных о фильмах из базы TMDb.
GitHub Repository: https://github.com/fedyaqq34356/Movie-Search-App
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 # Entry point and workflow coordination
├── api.py # TMDb API requests and responses
├── config.py # Configuration and environment variables
├── display.py # User interface and input handling
├── export.py # File writing operations
├── logger.py # Logging configuration
├── .env # API credentials (not tracked)
├── requirements.txt # Python dependencies
└── README.md # Documentation
Ключевые решения:
хранение токенов в .env, задержки между запросами (0.5 сек), сбор всех типов провайдеров (подписка, бесплатные, с рекламой, аренда, покупка), многоуровневое логирование (DEBUG, INFO, WARNING, ERROR), обработка ошибок с try-except и повторными попытками.
Примеры использования:
выбор жанра, ввод количества страниц, экспорт данных в файлы (titles, descriptions, ratings, providers). Можно изменять регион и язык в конфиге для корректного отображения провайдеров.
Производительность:
1 страница (20 фильмов) ~1 секунда, 10 страниц ~10 секунд, 50 страниц ~50 секунд. Надежность и масштабируемость обеспечены, поддержка до 500 страниц, эффективная память, минимальная нагрузка на API.
Возможные улучшения:
краткосрочные — JSON экспорт, CLI аргументы, поддержка сериалов, кэширование жанров; долгосрочные — GUI, база данных SQLite, параллельные запросы, REST API wrapper, unit и integration тесты.
Установка:
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.
Консольная утилита для поиска и экспорта данных о фильмах из базы TMDb.
GitHub Repository: https://github.com/fedyaqq34356/Movie-Search-App
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 # Entry point and workflow coordination
├── api.py # TMDb API requests and responses
├── config.py # Configuration and environment variables
├── display.py # User interface and input handling
├── export.py # File writing operations
├── logger.py # Logging configuration
├── .env # API credentials (not tracked)
├── requirements.txt # Python dependencies
└── README.md # Documentation
Ключевые решения:
хранение токенов в .env, задержки между запросами (0.5 сек), сбор всех типов провайдеров (подписка, бесплатные, с рекламой, аренда, покупка), многоуровневое логирование (DEBUG, INFO, WARNING, ERROR), обработка ошибок с try-except и повторными попытками.
Примеры использования:
выбор жанра, ввод количества страниц, экспорт данных в файлы (titles, descriptions, ratings, providers). Можно изменять регион и язык в конфиге для корректного отображения провайдеров.
Производительность:
1 страница (20 фильмов) ~1 секунда, 10 страниц ~10 секунд, 50 страниц ~50 секунд. Надежность и масштабируемость обеспечены, поддержка до 500 страниц, эффективная память, минимальная нагрузка на API.
Возможные улучшения:
краткосрочные — JSON экспорт, CLI аргументы, поддержка сериалов, кэширование жанров; долгосрочные — GUI, база данных SQLite, параллельные запросы, REST API wrapper, unit и integration тесты.
Установка:
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.