{"id":15133067,"url":"https://github.com/4kolesov/vk_user_groups","last_synced_at":"2025-04-05T21:45:46.709Z","repository":{"id":170671050,"uuid":"644954846","full_name":"4kolesov/vk_user_groups","owner":"4kolesov","description":"Используя VK API, позволяет осуществлять поиск групп (сообществ) по подстроке и (одновременно) в которые входит пользователь или его друзья.","archived":false,"fork":false,"pushed_at":"2023-05-29T13:53:22.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T02:47:34.506Z","etag":null,"topics":["api","flask","python","sqlalchemy","vk-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4kolesov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-24T15:45:21.000Z","updated_at":"2023-05-29T13:55:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"63240844-9bed-443a-bf33-08e66a2b77ec","html_url":"https://github.com/4kolesov/vk_user_groups","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"57a0c6f0aaa14d0cc239980b7f7dc478a51ec0be"},"previous_names":["4kolesov/vk_user_groups"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4kolesov%2Fvk_user_groups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4kolesov%2Fvk_user_groups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4kolesov%2Fvk_user_groups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4kolesov%2Fvk_user_groups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4kolesov","download_url":"https://codeload.github.com/4kolesov/vk_user_groups/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406070,"owners_count":20933802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","flask","python","sqlalchemy","vk-api"],"created_at":"2024-09-26T05:00:24.873Z","updated_at":"2025-04-05T21:45:46.680Z","avatar_url":"https://github.com/4kolesov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Стек:\nPython 3.11, Flask 2.3, SQLAlchemy 2.0, Flask-SQLAlchemy 3.0, SQLite | PostgreSQL, VK API\n\n\n### Документация:\nПримеры и параметры запросов, ответы и более подробная информация: http://127.0.0.1:5000/apidocs/\nДоступна только во время запущенного сервера ```flask run```\n\n\n### Возможности:\nИспользуя VK API, позволяет осуществлять поиск групп (сообществ) по подстроке и (одновременно) в которые входит пользователь или его друзья.\n\n\n### Как запустить проект:\nКлонировать репозиторий:\n```\ngit clone git@github.com:4kolesov/vk_user_groups.git\n```\n\nВ командной строке перейти в директорию с проектом.\n\nCоздать и активировать виртуальное окружение:\n\n```\npython -3.11 -m venv env\n```\n\n```\nsource venv/Scripts/activate\n```\n\nОбновить менеджер пакетов \"pip\":\n\n```\npython -m pip install --upgrade pip\n\n```\nУстановить зависимости из файла ```requirements.txt```:\n\n```\npip install -r requirements.txt\n\n```\n\nВ директории с файлом ```settings.py``` запустить проект\n\n```\nflask run\n```\n\n\n### Структура директорий и файлов:\n```\nvk_user_groups/\n├── instance              ← БД SQLite3\n├── migrations/           ← Миграции Alembic/\n│   └── versions/         ← Версии миграций\n├── vk_groups/            ← Flask app/\n│   ├── __init__.py       ← пакет приложения Flask\n│   ├── api_views.py      ← эндпоинты\n│   ├── models.py         ← модель группы в БД\n│   └── vk_services.py    ← vk api controllers\n├── .ENV                  ← СОЗДАТЬ файл с переменными\n├── .ENV.EXAMPLE          ← пример файла .ENV с описанием\n├── requirements.txt      ← зависимости проекта\n├── README.md             ← readme\n└── settings.py           ← конфигурация приложения Flask\n```\n\n### PostgreSQL\nЗапустить PostgreSQL на локальной машине или в контейнере Docker.\nЗапустить утилиту psql для подключения и управления СУБД\n```\npsql -U postgres\n```\nСоздать новую БД:\n```\nCREATE DATABASE vk_groups;\n```\n\nСоздать пользователя и пароль для подключения к БД:\n```\nCREATE USER DigitalFutureSystems WITH ENCRYPTED PASSWORD 'OkLetsGo';\n```\n\nВыдать права на использование нужной БД нужным юзером:\n```\nGRANT ALL PRIVILEGES ON DATABASE vk_groups TO DigitalFutureSystems;\n```\n\nНе забыть добавить в .ENV файл конфигурацию для подключения к БД:\n\n```\nDATABASE_URI='postgresql://DigitalFutureSystems:OkLetsGo@localhost:5432/vk_groups'\n```\n\n### VK API\nНеобходимо получить Токен пользователя, подробнее:\nhttps://dev.vk.com/api/access-token/getting-started\nПолученный access token необходимо разместить в .ENV файле:\n```\nVK_TOKEN=vk1.a.2V9pzKkhavsCPqvevAKOj3VmO1ZhxPCHRwmt\n```\nВажно: токен имеет гораздо больше символов, чем указано в данном примере!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4kolesov%2Fvk_user_groups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4kolesov%2Fvk_user_groups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4kolesov%2Fvk_user_groups/lists"}