Skip to content

Командный проект «Поиск партнёра по жизни» (чат-бот ВК)

Notifications You must be signed in to change notification settings

maxter9595/FindMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Командный проект «Поиск партнёра по жизни» (чат-бот ВК)

Описание проекта

Цель проекта

Разработка чат-бота ВК, выводящего пользователю всех доступных потенциальных партнеров.

Команда

Вводные параметры

Все параметры вводятся пользователем внутри самого приложения в формате анкеты.

Список параметров для заполнения анкеты:

  • имя пользователя
  • фамилия пользователя
  • возраст
  • пол
  • город

Далее после ввода всех необходимых параметров будет проведен автоматический поиск партнера.

Ожидаемый результат

Запуск чат-бота ВК, в процессе работы с которым пользователь может:

  • пролистывать всех своих партнеров нажатием на кнопку "Далее"/"Назад"
  • добавлять своих любимых партнеров в раздел "Избранное"
  • убирать ненужных партнеров в "Черный список".

Все изменения фиксируются в базе данных PostgreSQL.

Что следует сделать перед запуском программы?

Перед запуском кода следует удостовериться, что:

  • заведен проект в IDE
  • размещены все файлы в папке с проектом
  • установлены все библиотеки, указанные в requirements.txt

Структура проекта

CheckBD/
├─ ABCCheckDb.py
├─ CheckDBORM.py
├─ CheckDBSQL.py
├─ StructureDBORM.py

Materials/
├─ Registration/
├── photo.png
├─ Schema/
├── schema.png

Repository/
├─ ABCRepository.py
├─ CardExceptions.py
├─ CardFavorites.py
├─ CardFind.py
├─ ORMRepository.py
├─ SQLRepository.py

VK/
├─ vk_messages.py
├─ VKService.py

.env
.gitignore

README.md
requirements.txt

Criteria.py
Result.py
User.py
main.py

Схема БД

image info

  • criteria: таблица с критериями поиска относительно пользователя

    • id: ID критерия поиска
    • user_id: VK ID пользователя
    • gender_id: ID пола, относительно которого ищем партнера
    • status: ID статуса (женат, холост и т.д.)
    • age_from: начальный возраст партнера, которого мы ищем
    • age_to: конечный возраст партнера, которого мы ищем
    • city_id: ID города партнера, которого мы ищем
    • has_photo: наличие фото у партнера (1 - есть фото, 0 - фото отсутствует)
  • users: таблица с пользователями приложения

    • id: VK ID пользователя приложения
    • first_name: имя пользователя
    • last_name: фамилия пользователя
    • age: возраст пользователя
    • gender_id: ID пола пользователя
    • city_id: ID города пользователя
    • about_me: информация о пользователе
  • genders: таблица с полами

    • id: ID пола
    • gender: наименование пола
  • cities: таблица с городами

    • id: ID города
    • gender: наименование города
  • favorites: таблица с избранными партнерами

    • id: id пары "партнер-пользователь"
    • user_id: VK ID пользователя
    • first_name: имя партнера
    • last_name: фамилия партнера
    • age: возраст партнера
    • gender_id: ID пола партнера
    • profile: профиль партнера в ВК
    • photo1: ссылка на фото партнера №1
    • photo2: ссылка на фото партнера №2
    • photo3: ссылка на фото партнера №3
    • city_id: ID города партнера
  • exceptions: таблица с пользователями, добавленными в "Черный список"

    • id: id пары "партнер-пользователь"
    • user_id: VK ID пользователя
    • first_name: имя партнера
    • last_name: фамилия партнера
    • age: возраст партнера
    • gender_id: ID пола партнера
    • profile: профиль партнера в ВК
    • photo1: ссылка на фото партнера №1
    • photo2: ссылка на фото партнера №2
    • photo3: ссылка на фото партнера №3
    • city_id: ID города партнера

Запуск программы

Для включения программы необходимо:

  • заполнить все сведения в файле .env

    • ACCESS_TOKEN: токен сообщества ВК
    • ACCESS_TOKEN_API: токен пользователя ВК
    • USER_NAME_DB: логин пользователя Postgres
    • USER_PASSWORD_DB: пароль пользователя Postgres
  • запустить модуль main.py

ACCESS_TOKEN='vk1...'
ACCESS_TOKEN_API='vk1....'
USER_NAME_DB='postgres'
USER_PASSWORD_DB='postgres'

Инструкция по работе с чат-ботом ВК

Регистрация

  • После входа на страницу приложения:
    • вводим "start":
    • нажимаем на кнопку "хочу зарегистрироваться"

drawing

 
  • Далее вводим пользовательские данные и нажимаем на кнопку "Сохранить анкету"

drawing

 
  • На следующем шаге вводим параметры нашего партнера и нажимаем на кнопку "Сохранить критерии"

drawing

 
  • После этого мы окажемся в главном меню

drawing

 

Клавиша "Поиск"

  • Нажимаем кнопку "Поиск"

  • После нажатия кнопки появится первая кандидатура, котрую мы можем пропустить, добавить в избранное или занести в черный список

drawing

 
  • Перейти к следующей кандидатуре можно нажатием на кнопку "Вперед". Для возрата к предыдущей кандидатуре следует нажать кнопку "Назад"

drawing

 
  • Добавить кандидата в избранное можно нажатием кнопки "Добавить в избранное"

drawing

 
  • Добавление кандидата в черный список осуществляется нажатием кнопки "Добавить в черный список"

drawing

 
  • Возврат в главное меню осуществляется нажатием кнопки "Главное меню"

drawing

 

Клавиша "Критерии поиска"

  • Изменение критериев поиска можно осуществить после нажатия кнопки "Критерии поиска" в главном меню

drawing

 

Клавиша "Избранное"

  • Просмотр всех избранных партнеров возможен после нажатия кнопки "Избранные"

drawing

 

Клавиша "В черный список"

  • Просмотр всех партнеров из черноего списка возможен после нажатия кнопки "В черный список"

drawing

 

About

Командный проект «Поиск партнёра по жизни» (чат-бот ВК)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages