Это приложение для знакомств. Приложение предоставляет простой интерфейс для выбора понравившегося человека.
Используя данные из VK чат-бот “VKinder” ищет людей, подходящих под условия, на основании информации от пользователе из VK:
- Возраст,
- пол,
- город,
- семейное положение.
У тех людей, которые подошли по требованиям пользователю, получать топ-3 популярных фотографии профиля и отправлять их пользователю в чат вместе со ссылкой на найденного человека. Популярность определяется по количеству лайков и комментариев.
За основу можно взять код из файла basic_code.py -> https://github.com/netology-code/py-advanced-diplom/blob/new_diplom/basic_code.py.
Как настроить группу и получить access токен пользователя можно найти в инструкции -> https://github.com/netology-code/py-advanced-diplom/blob/new_diplom/group_settings.md. Получить access токен пользователя -> https://vkhost.github.io/ Устанавливаем библиотеку vk_api в терминале командой pip install vk_api. Установить зависимости -> python3 -m pip install -r requirements.txt
Полезные ссылки:
- Vkontakte API Python | Как работать с методами? -> https://www.youtube.com/watch?v=gysqjgfLmBc
- Vkontakte BOT (vk_api python) [1] | Настройка и структур -> https://www.youtube.com/watch?v=hhq4sPeQ5A8
- Учим бота отправлять изображения. Курс "Создание чат-бота ВКонтакте на python". Часть 4 -> https://www.youtube.com/watch?v=ln_CDJLHgZY&list=PLU0Fah6AEBTToQOsFAUWD71lv819wEV21&index=6
- requirements.txt что это и для чего -> https://azzrael.ru/requirements-txt-python
Входные данные
Имя пользователя или его id в ВК, для которого мы ищем пару. Если информации недостаточно нужно дополнительно спросить её у пользователя.
Требование к сервису:
- Код программы удовлетворяет PEP8.
- Получать токен от пользователя с нужными правами.
- Программа декомпозирована на функции/классы/модули/пакеты.
- Результат программы записывать в БД.
- Люди не должны повторяться при повторном поиске.
- Не запрещается использовать внешние библиотеки для vk.
Дополнительные требования (не обязательны для получения диплома):
- В vk максимальная выдача при поиске 1000 человек. Подумать как это ограничение можно обойти.
- Добавить возможность ставить/убирать лайк, выбранной фотографии.
- Можно усложнить поиск добавив поиск по интересам. Разбор похожих интересов(группы, книги, музыка, интересы) нужно будет провести с помощью анализа текста.
- У каждого критерия поиска должны быть свои веса. То есть совпадение по возрасту должны быть важнее общих групп. Интересы по музыке важнее книг. Наличие общих друзей важнее возраста. И так далее.
- Добавлять человека в избранный список, используя БД.
- Добавлять человека в черный список чтобы он больше не попадался при поиске, используя БД.
- К списку фотографий из аватарок добавлять список фотографий, где отмечен пользователь.